0

使用以下代码, foo 给我当地时间或 GMT?

NSString * foo = [formatter2 stringFromDate:[NSDate dateWithTimeIntervalSinceNow:-2 * 3600]];  
4

1 回答 1

1

字符串 flyerid将表示您当前时区的时间减去 2 小时,是的。这就是日期格式化程序的用途,默认情况下,它使用计算机的区域设置信息将传入的日期转换为最接近用户期望的表示形式。这包括使用计算机的时区。(当然,您可以通过发送setTimeZone:到格式化程序来更改它。)

日期对象本身没有时区。这只是一个瞬间,其描述或表示会根据您在地球上的位置而有所不同。例如,约翰列侬被宣布死亡的时刻在其当地时间 (GMT-5) 中表示为 1980 年 12 月 8 日上午 11:15,但在美国西海岸,即上午 8:15,并且在列侬的出生地,是下午 4 点 15 分。不过,他只被宣告死亡一次——同一时刻,不同的解读方式。

于 2012-04-18T17:51:10.467 回答