我使用NSDates作为NSDictionary的键,但是对于键值编码,我需要一个字符串。重要的是,我需要它不改变操作系统或语言环境中的表示。当我向用户展示时,我当然会使用NSDateFormatter,但在内部它必须始终相同。将字符串格式设置为字符串的最佳方法是什么?
答案 0 :(得分:2)
使用NSDateFormatter并将时区指定为GMT,将本地指定为“en_US_POSIX”。
来自Apple的:Data Formatting Guide
如果您正在使用固定格式的日期,则应首先设置 日期格式化程序的区域设置适合您的固定格式 格式。在大多数情况下,最好选择的语言环境是en_US_POSIX,a 专门设计用于产生美国英语结果的语言环境 无论用户和系统偏好如何。
另一种选择是使用诸如timeIntervalSince1970之类的方法将NSDate转换为NSTimeInterval,然后转换为hexascii值以用作键。 NSDate返回相对于绝对参考日期的时间值 - 2001年1月1日的第一个时刻,GMT。