cocoa - NSString 到 NSDate

标签 cocoa nsstring nsdate nsdateformatter

我使用以下方法得到了一个包含当前日期的字符串:

NSString *date = [[NSDate date] description];

在不同的时刻,我想从此字符串中检索日期,并且使用了以下代码:

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
[dateFormatter setDateFormat:@"YYYY-MM-DD HH:MM:SS ±HHMM"];

NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:<NSString containing date>];

我得到的dateFromStringnil 0x0。我做错了什么?

最佳答案

你不能发明格式字符串语法并期望它能够工作;您需要实际使用记录的格式。 (说真的,“MM”同时表示“月”、“分钟”和“GMT 偏移分钟”?)

作为documentation指出,10.4 格式化程序使用 Unicode format strings .

尝试使用“yyyy-MM-dd HH:mm:ss ZZZ”。

此外,Objective-C 源代码是 ASCII。不要将像 ± 这样的字符放在那里并期望它在任何上下文中都能工作;相反,使用字符串文件。

关于cocoa - NSString 到 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1353081/

相关文章:

swift - 如何使用 Swift 将每个句子中的第一个单词大写

iphone - 我可以动态更改 UIView 的内容吗?

macos - cocoa - 如何调整一个方向的大小

objective-c - 代码部署后无法运行

objective-c - 从 NSData 转换的 NSString 中删除 unicode 和反斜杠转义

ios - 检查 NSDate 是否以特定模式出现

objective-c - NSMutableDictionary keyEnumerator 还是 NSArray?

iphone - 由于未捕获的异常而终止应用程序,无法初始化类对象

objective-c - 无法比较两个 NSDates

iphone - timeIntervalSince1970 的奇怪行为