2012-04-18 85 views
0

用下面的代码,foo给我当地时间或格林威治标准时间?当地时间与格林尼治标准时间

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

当你检查它时发生了什么? – 2012-04-18 17:39:13

回答

1

flyerid将代表你当前时区的时间减去2小时,是的。这是日期格式化程序的用途,默认情况下,它使用计算机的Locale信息将传入日期转换为最接近用户期望的表示。这包括使用电脑的时区。 (当然,您可以通过向格式化程序发送setTimeZone:来修改)

日期对象本身没有时区。这只是时间的一个瞬间,其描述或表示随着地球上你在哪里而变化。例如,当约翰列侬宣布死亡的那一刻在当地时间(格林威治标准时间-5)中表示为1980年12月8日上午11点15分,但在美国西海岸上空,即上午8点15分,以及在列侬的出生地点,下午4点15分。他只是被宣布死了一次,尽管 - 同一时刻,不同的阅读方式。

相关问题