
DateTime结构本身和UTC或本地时间都没有关系。构造DateTime时,指定的时间可能是UTC也可能是本地时间。
DateTime的Now和Today返回本地时间和日期,UtcNow则自动根据时区计算UTC。
UTC:
虽然格林威治标准时间是统一标准,但UTC(调整统一时间)将被认为是更精确的选择,因为UTC在全世界都是相同的,而本地时间则偏离于UTC,在格林威治西边的时区落后于UTC,东边的时区则超前于UTC。
选择:
System.DateTime datetime_UTC = datetime_Local.ToUniversalTime();
System.DateTime datetime_Local = datetime_UTC.ToLocalTime();
eMail 中关于“时间”的部分资料:
世界各地的人都认为太阳在天空中最高的时候为中午,而夜晚的中间是午夜。因为这两个事件在地球的各地不是同时发生的,所有在世界上不同地区居住的人对自己时钟的设置是不同的。以前非常混乱,后来发展成一般由国家政府设置的严格时区,并按照与格林威治标准时间一小时或半小时的差来计算。
英国格林威治在时间标准的发展过程中扮演了重要角色,因为它是皇家格林威治天文台的所在地。RGO建立于1675年,目的是为海上航行的船只开发天文导航技术。18世界60年代,天文台开始发布航海年鉴,并且为了方便将本初子午线定在格林威治。这个子午线系统在1884年最终被承认为世界标准。
在这之前,在1833年时格林威治天文学家开始在每天下午1:00在泰晤士河投放可以从船只上看得见的球。这是格林威治标准时间的起源。在19世纪40年代,格林威治标准时间被宣布为所有大不列颠的标准时间(我想起了我们的北京时间),以代替历史上发展出来的不同的本地时间。
虽然人们仍然以格林威治时间作为统一标准,但是使用“调整统一时间”(调整统一时间被缩写成UTC。这是英语单词词序CUT和法语单词词序TUC的综合)在科学上被认为更准确。根据1972年的国际协议,UTC在全世界都是相同的。
本地标准时间从正向或负向上偏离UTC。在格林威治西边的时区落后于UTC,在格林威治东边的时区超前于UTC。例如,东部标准时间是UTC减5小时。这与UTC加19小时不同。虽然都可以计算出正确的时间,但日期却不同)。
后来又有了“夏令时时间”的说法。当夏天来临时,太阳升起得越来越早,落下得越来越迟,所以起得早一点儿并在晚上享受一些阳光不是大问题。一些国家使用夏令时,而有些国家没有使用。那些使用的国家开始和结束它的日期也各不相同。甚至在一些国家,特别是美国……显然,对于特定的计算机,本地时间就是根据本地时区和夏令时的作用确定的与UTC的偏差。
……
打印 | 张贴于 2004-04-10 15:33:00 | Tag:.Net