iphone - 将 NSDate 的描述转换为 NSDate?

标签 iphone serialization date nsdate

我将我的 NSDate 存储到一个文件中,该文件采用您在 NSDate 上调用描述时获得的国际格式。

但是,我不知道如何从字符串格式返回到 NSDate 对象。 NSDateFormatter 似乎仅限于几种格式,不包括国际格式。

我应该如何从字符串格式返回?

最佳答案

Jeff 是对的,NSCoding 可能是序列化 NSDate 对象的首选方式。无论如何,如果您确实想要/需要将日期保存为纯日期字符串,这可能会对您有所帮助:

实际上,NSDateFormatter 根本不限于预定义的格式。您可以通过 dateFormat 属性设置任意自定义格式。以下代码应该能够解析“国际格式”的日期字符串,即。 NSDate-description 使用的格式:

NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss ZZZ";
NSDate* date = [dateFormatter dateFromString:@"2001-03-24 10:45:32 +0600"];

有关格式字符串语法的完整引用,请查看 Unicode standard .

但是,请小心使用 -description - 这些方法的输出通常是针对人类读者的(例如日志消息),并且不能保证它不会更改其输出格式新的SDK版本!您应该使用相同的日期格式化程序来序列化您的日期对象:

NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss ZZZ";
NSString* dateString = [dateFormatter stringFromDate:[NSDate date]];

关于iphone - 将 NSDate 的描述转换为 NSDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349266/

相关文章:

iphone - iPhone 上的 NSData writeToFile

django - 如何通过 django rest api 中的一个序列化器发布多个模型数据

python - 序列化/挑选一个在字符串中定义的函数

ios - 如何以编程方式限制 iPhone 中日期选择器的特定年份?

iphone - 用 iPhone 拍照,然后使用它!

iphone - iPhone 应用程序中的 I18n 是否需要所有这些步骤?

iphone - NSMutableArray 在日志中显示正确值但在表格单元格中不显示

java - 将可序列化对象存储到文件中,并排除一些数据

javascript - 从日期获取月份的周数(从星期一开始的星期)

MYSQL:如何找到 'last monday' 的日期'(性能问题)