【发布时间】:2012-10-22 04:18:36
【问题描述】:
我正在使用以下字符串中的NSDateComponents 建立一个日期:
"2014-05-17 02:39:00 PM +0000"
当我设置所有组件并返回我得到的 NSDate 时(参见下面的方法):
"2014-05-17 02:39:00 AM +0000"
我的问题是,有没有办法将 AM/PM 指定为 NSDateComponent,或者如果源日期是 PM,我是否只需将 12 添加到我的小时?
- (NSDate *)dateFromYear:(int)year month:(int)month day:(int)day hour:(int)hour minute:(int)minute {
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[components setYear:year];
[components setMonth:month];
[components setDay:day];
[components setHour:hour];
[components setMinute:minute];
NSCalendar *calendar = [NSCalendar currentCalendar];
return [calendar dateFromComponents:components];
}
【问题讨论】:
-
使用 24 小时值,而不是 12 小时值。
-
嗨@rmaddy,这就是我在 PM 值上加 12 所做的,不幸的是,来自客户端的数据使用 12 小时 AM/PM 表示法。
标签: iphone objective-c cocoa-touch nsdatecomponents