我有这个NSDate
:
2013-03-14 17:35:00 +0000
我试着用这个把它转换成NSString
:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy hh:mm:ss"];
[formatter stringFromDate:item.startdate];
我得到的是:
03/14/2013 05:35:00
我如何修复它,让我的日期与日期中的时间一样?
在您的时间中使用HH
而不是hh
,并且设置时区也是一个好主意
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
[timeFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSString *newTime = [timeFormatter stringFromDate:[[NSDate alloc]init] ];
我想你需要HH
为24小时时钟:
[formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
但是我在数据格式指南中注意到了这一点,这可能会影响到你:
在iOS中,用户可以覆盖默认的AM/PM和24小时时间设置。这可能会导致NSDateFormatter重写格式字符串你集。
[formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
使用H
代替h
来获取24小时格式的时间