0

当我

[dateFormatter setDateFormat:@"HH:mm"]

用于获取当前时间我得到正确的时间直到 12:59 但之后它再次从 1:00 开始,即 12:59 显示为 12:59 但 14:00 显示为 2:00。

如果有人也有类似的问题,请告诉我并提出解决方案。

谢谢

4

6 回答 6

3

请检查下面的代码。

    NSDateFormatter *dateFormator = [[NSDateFormatter alloc] init];
    dateFormator.dateStyle = NSDateFormatterMediumStyle;
    dateFormator.dateFormat=@"HH:mm:ss";
    NSCalendar * calender=[[NSCalendar alloc]initWithCalendarIdentifier:[NSGregorianCalendar autorelease]];
    NSDateComponents * component=[calender components:NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:date];
于 2013-05-08T06:24:58.253 回答
1

我同意

[dateFormatter setDateFormat:@"HH:mm"]

应该给你24小时的时间。但如果用户将 24 小时设置为关闭,这将不起作用。尽管在格式字符串中使用了 HH,但用户设置会覆盖它。这可能是您的问题!

于 2013-05-08T06:22:47.030 回答
0

将您的日期格式设置为

[dateFormatter setDateformat:@"HH:MM a"];
于 2013-05-08T06:43:41.690 回答
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];
于 2013-05-08T06:27:41.200 回答
0

试试这个代码

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

HH : 24 小时制

hh : 12 小时制

所以在你的情况下

//转换为日期后

如果开启

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

如果关闭

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

希望对你有效。

于 2013-05-08T06:28:02.030 回答
0

您可以使用

[dateFormatter setDateFormat:@"H:mm"]

24 小时时间格式

于 2013-05-08T06:28:17.153 回答