相关疑难解决方法(0)

处理Cocoa中的时区

我只是想澄清我是否理解日期和时区的工作方式.

基本上,我有一个日期字符串@"2008-07-06 12:08:49",我想转换为NSDate.我希望这个日期和时间在当前用户的时区中.无论如何,如果他们是GMT或HST,它仍然是12:08:49.

如果我的日期为unix格式1215382129(UTC)且我的时区设置为伦敦(GMT),则NSLog()的输出日期为:

2008-07-06 12:08:49 +0100

如果我然后将我的时区更改为夏威夷(HST)并输出相同的日期,我会得到:

2008-07-06 12:08:49 -1000

这似乎工作正常,但我的印象是在夏威夷时间,我必须将时间差(-10小时)添加到unix时间戳.这不是必需的吗?

这是否意味着,无论unix时间指向的日期和时间如何,它总是指向用户所在时区的相同日期和时间?

希望这是有道理的!

编辑

我刚刚意识到(感谢Kevin Conner!)实际上NSDateFormatter正在为该日期字符串创建不同的unix时间戳,具体取决于当前时区!所以我完全错了!! :-)

iphone timezone cocoa datetime unix-timestamp

1
推荐指数
1
解决办法
1364
查看次数

标签 统计

cocoa ×1

datetime ×1

iphone ×1

timezone ×1

unix-timestamp ×1