2013-05-08 54 views
0

当我获取错误的时间使用NSDateFormatter

[dateFormatter setDateFormat:@"HH:mm"] 

使用来获取当前小时 我得到正确的时间,直到12:59,但之后再次从下午1:00开始即12:59显示很因为12点59分但是14点显示为2点。

如果有人也有类似的问题,并建议解决方案,请让我。

感谢

+2

代码,请..... – 2013-05-08 06:19:06

回答

1

[dateFormatter setDateFormat:@"HH:mm"] 

同意应该给你在24小时的时间。但是,如果用户设置24小时关闭,则这不起作用。尽管在格式字符串中使用HH,但用户设置将覆盖此内容。这可能是你的情况的问题!

+0

我得到24的时间正确的显示小时格式打开或关闭。其实我已经与2个时区的人分享了我的应用程序,其中一个出现了这个问题。我试过在我的手机上更改时区等,但我仍然没有遇到这个问题。我通过使用HH格式化程序获得正确的时间 – user1627673 2013-05-08 06:37:58

3

请检查下面的代码。

NSDateFormatter *dateFormator = [[NSDateFormatter alloc] init]; 
    dateFormator.dateStyle = NSDateFormatterMediumStyle; 
    [email protected]"HH:mm:ss"; 
    NSCalendar * calender=[[NSCalendar alloc]initWithCalendarIdentifier:[NSGregorianCalendar autorelease]]; 
    NSDateComponents * component=[calender components:NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:date]; 
0

使用这一个

NSDate *date = [NSDate date]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"YYYY-MM-dd kk:mm:ss"]; 
[dateFormatter setLocale:[NSLocale currentLocale]]; 

NSString *dateString = [dateFormatter stringFromDate:date]; 
+0

您将获得准确的时间,我希望 – 2013-05-08 06:28:28

0

试试这个代码

[dateFormatter setDateFormat:@"hh:mm:ss"]; 

HH:24小时格式

HH:12小时格式

所以你的情况

//转换后迄今

如果ON

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; 

如果OFF

[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss a"]; 

希望它为你工作。

0

您可以使用

[dateFormatter setDateFormat:@"H:mm"] 

24小时时间格式

0

设置您的日期格式,以

[dateFormatter setDateformat:@"HH:MM a"];