我知道 NSDate 没有时区信息。
但是,我正在尝试了解如何正确操作它们。
目前我正在将日期传递给一个对象。该日期是用户在时间 00:00:00 选择的日期。
即,如果用户点击 10 月 21 日,那么传入的 NSDate 应该是。21/10/2013 00:00:00。
但是,它不是 20/10/2013 23:00:00。(一小时前)。
现在,这与格式化或显示它们无关。我只是在使用 NSDates。
我正在使用NSDateComponents
and创建日期NSCalendar
。
我想我的问题是...
如何判断 anNSDate
在我当地时区实际指的是哪个日期?
我需要为给定日期发送 00:00:00 和 23:59:59 的 UNIX 时间戳。但是,当我将小时、分钟和秒设置为 0、0 和 0 时,我在当前时区没有到达午夜,而在 GMT 中我正在到达午夜。
这不是我想要的。
固定的?
好的,我已经修好了……我想。至少,它正在做我想让它做的事情。
诀窍是...
NSTimeZone *timeZone = [NSTimeZone localTimeZone];
[dateComponents setSecond:timeZone.secondsFromGMT];