gpt4 book ai didi

objective-c - NSDateFormatter 似乎有错误的月份

转载 作者:太空狗 更新时间:2023-10-30 03:47:02 27 4
gpt4 key购买 nike

我有这段代码要在 ISO 8601 日期/时间规范中读取。问题是由于某种原因,这个月不起作用。每次我转换它的月份都是“01”。我做错了什么?

NSDateFormatter *UTCDateFormat = [[NSDateFormatter alloc] init];
[UTCDateFormat setDateFormat:@"yyyy-MM-DD'T'HH:mm:ss'Z'"];
[UTCDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[UTCDateFormat setCalendar:[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]];
[UTCDateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSLog(@"%@", [UTCDateFormat dateFromString:dateString]);

因此,例如,如果 dateString 是:

@"2002-03-12T21:13:27Z" 

我的输出是:

2002-01-12 21:13:27 +0000

我已经尝试过的事情:

  • 将 MM 更改为 LL
  • 尝试过不使用 setCalendar/setLocale
  • 尝试在 - 附近使用“
  • 将 MM 的位置切换到其他地方。它永远不会改变任何事情。
  • 查看了所有 SO,它似乎对其他所有人都有效。

最佳答案

试试这个

    [UTCDateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];

DD 是“一年中的第几天”而不是“一个月中的第几天”。查找 NSDateFormatter 格式的一个很好的来源是 this table

关于objective-c - NSDateFormatter 似乎有错误的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9267666/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com