gpt4 book ai didi

ios - NSDateFormatter:stringFromDate 和 dateFromString 不可逆?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:01 30 4
gpt4 key购买 nike

我在使用带有 NSDateFormatter 的自定义日期格式化程序将字符串转换为日期时遇到问题。这是一个从今天的日期创建字符串但无法将其转换回 NSDate 的简短示例:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"Mdyyyy"];
NSString *example = [dateFormatter stringFromDate:now]; // e.g., 10292013
NSDate *reverse = [dateFormatter dateFromString:example]; // nil?

所以基本上看来 NSDateFormatter 正在创建一个日期字符串,它本身无法使用创建该字符串的相同格式将其转换回 NSDate

使用 MMddyyyy 作为日期字符串是可行的,尽管我无法从 documentation 中看到(方便地只升级到 iOS 6.0)为什么重要:

month   M   1..2    09  Month - Use one or two for the numerical month, ....
...
day d 1..2 1 Date - Day of the month

我尝试使用 Mdyyyy 而不是 MMddyyyy 的原因是因为它更接近 NSDateFormatterShortStyle 为我当前的 返回的内容>NSLocale (M/d/yy).

也许有人可能在这里有一些见解,因为我做错了两件事,或者我对这应该如何工作的理解是错误的。 (我知道这里有很多关于 NSDateFormatter 的问题,但我没有找到适合我问题的问题。)

最佳答案

Mdyyyy 作为字符串 -> 日期映射是不明确的。人们无法判断“1112013”​​是 1 月 11 日还是 11 月 1 日。因此 NSDateFormatter 不允许它用于字符串 ->date。

关于ios - NSDateFormatter:stringFromDate 和 dateFromString 不可逆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19664432/

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