strTime=@"13:00";
NSDateFormatter * df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"hh:mm"];
NSDate * date = [df dateFromString:strTime];
一切似乎都很好。
然而,日期的内容是零。
为什么?
我做错了什么?
我还改为@“HH:mm”
NSDateFormatter * df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"HH:mm"];
NSDate * date = [df dateFromString:strTime];
结果如下:
(lldb) po strTime
13:00
(lldb) po date
2000-01-01 06:00:00 +0000
(lldb) po strTime
15:45
(lldb) po date
2000-01-01 08:45:00 +0000
我想我想要更接近今天的日期
答案 0 :(得分:4)
我认为你做错了什么都没有阅读足够的文档。但它实际上相当模糊。 Data Formatting Guide将§8 Date Format Pattern, in Unicode Technical Standard #35指向{{3}},其中说明h
:
小时[1-12]。当在骨架数据中或在API中传递的骨架中用于灵活的日期模式生成时,它应该与区域设置(h或K)优选的12小时循环格式匹配;它不应该与24小时循环格式(H或k)匹配。使用hh进行零填充。
并且说H
:
小时[0-23]。当在骨架数据中或在API中传递的骨架中用于灵活的日期模式生成时,它应该与区域设置(H或k)优选的24小时循环格式匹配;它不应该与12小时循环格式(h或K)匹配。使用HH进行零填充。
因此,您应该尝试使用HH:mm
作为格式:
[df setDateFormat:@"HH:mm"];