gpt4 book ai didi

iphone - NSDateFormater 日期从字符串 :

转载 作者:行者123 更新时间:2023-12-03 20:18:28 25 4
gpt4 key购买 nike

NSDateFormatter *isoDateFormatter = [NSDateFormatter new];
[isoDateFormatter setDateFormat:@"yyyy-MM-dd"];
[isoDateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[isoDateFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault];
NSString * str = [isoDateFormatter dateFromString:@"2008-12-31T12:00:00"]

在 4.0 IOS 上,上述代码即 str 为 nill,在 3.0 IOS 上,此代码工作正常,str 为 2008-12-31。如何解决这个问题?

最佳答案

您似乎想要将日期从一种字符串格式转换为另一种字符串格式。为此,您必须分两步完成 - 将 FROM 字符串格式化为 NSSDate,然后从该日期格式化为 NSString。

NSDateFormatter *dateWriter = [[NSDateFormatter alloc] init];
NSDateFormatter *dateReader = [[NSDateFormatter alloc] init];
[dateWriter setDateFormat:@"yyyy-MM-dd"];
[dateReader setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];

NSDate *dateTmp = [dateReader dateFromString:@"2008-12-31T12:00:00"];
NSString *str = [dateWriter stringFromDate:dateTmp]
//str now contains "2008-12-31".

//and don't forget!!!
[dateReader release];
[dateWriter release];

如果需要,您可以通过读取、重置 dateFormat 然后写入,使用一个日期格式化程序获得相同的结果。我只是这样布局,以便很容易看到该过程。

旁注——我总是忘记发布 NSDateFormatters。 Clang 和 Instruments 总是发现我泄露它们。我想我用过它们,感觉就像它们已经完成了。但他们不是!所以比我聪明一点,记得NARC关于你的内存管理!

旁注 2——不要忽略编译器警告。您的编译器警告您正在执行的无效分配,但您忽略了它。

关于iphone - NSDateFormater 日期从字符串 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4647029/

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