从NSDate获取一致的日期格式?

时间:2011-09-30 20:26:35

标签: objective-c cocoa

我使用NSDates作为NSDictionary的键,但是对于键值编码,我需要一个字符串。重要的是,我需要它不改变操作系统或语言环境中的表示。当我向用户展示时,我当然会使用NSDateFormatter,但在内部它必须始终相同。将字符串格式设置为字符串的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

使用NSDateFormatter并将时区指定为GMT,将本地指定为“en_US_POSIX”。

来自Apple的:Data Formatting Guide

  

如果您正在使用固定格式的日期,则应首先设置   日期格式化程序的区域设置适合您的固定格式   格式。在大多数情况下,最好选择的语言环境是en_US_POSIX,a   专门设计用于产生美国英语结果的语言环境   无论用户和系统偏好如何。

另一种选择是使用诸如timeIntervalSince1970之类的方法将NSDate转换为NSTimeInterval,然后转换为hexascii值以用作键。 NSDate返回相对于绝对参考日期的时间值 - 2001年1月1日的第一个时刻,GMT。