NSDate *now = [[NSDate alloc] init];
给出当前日期。
但是,如果手机日历不是公历(在模拟器上也有日文和佛历),则当前日期不会是公历。
现在的问题是如何转换为公历日期或确保它从一开始就是公历格式。这对于某些服务器通信至关重要。
谢谢!
最佳答案
NSDate 只是代表一个时间点,本身没有格式。
将NSDate格式化为一个字符串,你应该使用 NSDateFormatter。它有一个日历属性,如果您将此属性设置为公历的实例,则输出的格式将匹配公历样式。
NSDate *now = [NSDate date];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setCalendar:gregorianCalendar];
[formatter setDateStyle:NSDateFormatterFullStyle];
[formatter setTimeStyle:NSDateFormatterFullStyle];
NSString *formattedDate = [formatter stringFromDate:now];
NSLog(@"%@", formattedDate);
[gregorianCalendar release];
[formatter release];
关于objective-c - 当电话日历不是公历时,如何以公历格式获取今天的日期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6355405/