UTC时间

By admin in 天文台 on 2019年1月13日

全套地球分为二十四时区,每个时区都有投机的地点时间。在国际无线电通信场所,为了统一起见,使用一个集合的时刻,称为通用协调时(UTC,
Universal 提姆e Coordinated)。UTC与格林(格林)尼治平均时(GMT, 格林wich Mean
提姆e)一样,都与大不列颠及英格兰联合王国伦敦(London)的当地时一致。在本文中,UTC与GMT含义完全相同。

首都时区是东八区,超过UTC七个刻钟,在电子邮件信头的Date域记为+0800。即使在电子邮件的信头中有这么一行:

Date: Fri, 08 Nov 2002 09:42:22 +0800

注脚信件的发送地的地点时间是二○○二年十五月八号,周六,晌午九点四十二分(二十二秒),这一个地点的当地时领先UTC两个时辰(+0800,
就是东八区流年)。电子邮件信头的Date域使用二十四钟头的时钟,而不行使AM和PM来标记上下午。

以那多少个电子邮件的发送时间为例,假使要把这多少个时间转发为UTC,可以应用一下公式:

UTC + 时区差 = 本地时间

时区差东为正,西为负。在此,把东八区时区差记为 +0800,

UTC + (+0800) = 本地(北京)时间 (1)

那就是说,UTC = 本地时间(迪拜时间))- 0800 (2)

0942 – 0800 = 0142

即UTC是当天黎明一点四十二分二十二秒。假诺结果是负数就象征是UTC前一天,把这么些负数加上2400就是UTC在前日的年华。例如,本地
(上海)时间是 0432 (凌晨四点三十二分),那么,UTC就是 0432 – 0800 =
-0368,负号意味着是前些天, -0368 + 2400 =
2032,既前一天的夜间八点三十二分。

伦敦的时区是西五区,比UTC落后三个刻钟,记为 -0500:

UTC + (-0500) = 伦敦岁月 (3)

UTC = 伦敦时刻 + 0500 (4)

把(2)式 - (4)式相比,

UTC = 法国首都时间 - 0800 = 伦敦时间 + 0500 (5)

即 香港时间 = 伦敦时光 + 1300 (6)

即日本首都时间超过纽约岁月十六个钟头,由(6)式,

伦敦时光 = 上海时间 - 1300 (7)

在十月下旬,伦敦又换用夏令时,又称为日光节约时,比正规伦敦时光提前一个钟头,实际成为西四区的正式时间,成为
-0400。

UTC + (-0400) = 伦敦夏令时,套用以上公式,

迪拜时间 = 伦敦夏令时 + 1200

伦敦夏令时 = 香水之都时间 - 1200

在这么些转换中,最重点的公式就是

UTC + 时区差 = 本地时间

时区差东为正,西为负。例如,东八区(日本首都)是
+0800,西五区(伦敦)是-0500,加州是西八区,是-0800,米国当中时区是西六区,-0600,美利哥山地时区是西七区,-0700,印度洋时
区是西八区,-0800,在冬日利用夏时制,成为-0700。德意志联邦共和国时区是东一区,+0100,春天改成+0200。

大部分电子邮件程序,例如Outlook
Express,在映现时间时,总计机程序把时间先转移成为本土时间再展现,例如,邮件的Date域为:

Date: Fri, 08 Nov 2002 09:42:22 +0800

Outlook Express在展现时就凸显为:

Date: Thur, 07 Nov 2002 08:42:22
pm,把香港时间转换成为了伦敦时光,而且把二十四刻钟格式的日子更换成为了十二钟头的格式。当然,为了时刻更换正确,发送方和接受者的总括机的时区都要
设置科学,在这边,发送方的时区要正确地设为香水之都时区东八区,而我的时区要设为西五区。

为了便于起见,我在那边放上伦敦,加洲以及京城实时呈现的时钟,以省去统计的分神。

 

天下正式时间 (UTC)

全世界标准时间指的是由世界时间标准设定的年月。原先也被称呼格林(格林)威治标准时间仍旧GMT。

我们知晓,本初子午线被定义从London郊区的皇室格林(格林)尼治天文台穿过,这里的时日被定义为天下的正统时间。

神州位居东八区,所以要比这个时间早两个刻钟,也就是说,全球标准时间是5日0点时,中国是5日的8点,而U.S.A.有些地方还地处4日的黄昏。

有些对象、函数中,需要使用 UTC 时间,我们就需要将中国的日子转移成 UTC
时间,使用 toUTCString

var d = new Date();
document.write(“当前的 UTC 时间是:” + d.toUTCString());

toGMTString 与 toUTCString 功用、用法均一致,但我们引进应用
toUTCString,毕竟 GMT 是在此从前的称呼。

 

c#

 

DateTime 值

Date提姆e 类型的时刻值描述日常采取协调世界时 (UTC)
标准来抒发,它是格林尼治标准时间 (GMT)
的国际识别名。协调世界时是在经度零度(即 UTC
原点)测量到的时光。夏时制不适用于 UTC。

本 地时间是相对于特定时区而言。时区与时区偏移量关联,它是时区从 UTC
原点算起的以刻钟为单位的偏移量。其它,本地时间有可能受夏时制影响,夏时制会对日长增添或回落一时辰。因而,本地时间的盘算是将时区偏移量加上
UTC,如有必要,再依照夏时制举行调整。UTC 原点的时区偏移量为零。

UTC
时间吻合于总计、相比日期和时间,以及将日期和岁月存储在文书中。本地时间吻合于在桌面应用程序的用户界面中显示。识别时区的应用程序(如过多
Web 应用程序)还亟需选择过多其他时区。

如果 DateTime 对象的
Kind
属性为
DateTimeKind..::.Unspecified,则其未指定表示的光阴是当地时间、UTC
时间或者某个其他时区中的时间。

DateTime 运算

应用 Date提姆e 结构的测算(如
Add

Subtract)不会修改该社团的值。相反,总计会回到新的
DateTime 结构,其值为统计结果。

说明:

DateTime 对象的计算和比较仅当这些对象表示同一时区中的时间时才有意义。

时区之间(例如,UTC
和地点时间里面,或者一个时区中的时间和本地时间之间)的更换运算会考虑地点时区的夏时制,可是算术和相比较运算不考虑。

Date提姆e 结构自身不太辅助从一个时区转换至另一个时区。您可以应用
ToLocalTime
方法将 UTC 转换为地点时间,也得以行使
ToUniversalTime
方法从当地时间转移为 UTC。不过,整套的时区转换方法是在
TimeZoneInfo
类中提供的。使用这多少个办法,可以将世界上任一时区中的时间转移为 UTC
或者当地时间。

各种 DateTime
成员都隐式使用公历执行其操作,例外是点名日历的构造函数以及采纳从
IFormatProvider
派生的参数(如
System.Globalization..::.DateTimeFormatInfo)的法门,该参数隐式指定日历。

Date提姆e 类型中的成员所实施的运算会考虑闰年和月首天数等细节。

DateTime 与 TimeSpan

Date提姆(Tim)e 值类型与
TimeSpan
值类型的异样在于 Date提姆(Tim)e 表示时间上的少时,而
TimeSpan
表示时间距离。例如,那意味着将 Date提姆e
的一个实例与另一个实例相减能够得到表示这三个实例之间的岁月间隔的
TimeSpan
对象。或者,将一个正
TimeSpan
与当下 Date提姆(Tim)e 相加可以取得表示以今日期的 Date提姆(Tim)e 值。

可以向 Date提姆(Tim)e
对象扩展或裁减一个日子距离。时间间隔可为负,也可为正,可以用刻度或秒等为单位表示,也可代表为
TimeSpan
对象。

实现的接口

此类型实现
IComparableIComparable<(Of
<(T>)>)
IEquatable<(Of
<(T>)>)
IFormattable

IConvertible
接口。使用
Convert
类举行转换,而不是运用此类型的
IConvertible
显式接口成员贯彻。

天文台 1 示例

下边的代码示例演示怎么样大致相比较相同的 DateTime
值,将它们讲明为“相等”时接受很小的距离。

C#天文台 2 )

 1天文台 3using System;
 2天文台 4
 3天文台 5class Example
 4天文台 6天文台 7天文台 8{
 5天文台 9
 6天文台 10   static bool RoughlyEquals(DateTime time, DateTime timeWithWindow, int windowInSeconds, int frequencyInSeconds)
 7天文台 11天文台 12   天文台 13{
 8天文台 14
 9天文台 15      long delta = (long)((TimeSpan)(timeWithWindow – time)).TotalSeconds % frequencyInSeconds;
10天文台 16
11天文台 17      delta = delta > windowInSeconds ? frequencyInSeconds – delta : delta;
12天文台 18
13天文台 19      return Math.Abs(delta) < windowInSeconds;
14天文台 20
15天文台 21   }
16天文台 22
17天文台 23   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
18天文台 24天文台 25   天文台 26{
19天文台 27      int window = 10;
20天文台 28      int freq = 60 * 60 * 2; // 2 hours;
21天文台 29
22天文台 30      DateTime d1 = DateTime.Now;
23天文台 31
24天文台 32      DateTime d2 = d1.AddSeconds(2 * window);
25天文台 33      DateTime d3 = d1.AddSeconds(-2 * window);
26天文台 34      DateTime d4 = d1.AddSeconds(window / 2);
27天文台 35      DateTime d5 = d1.AddSeconds(-window / 2);
28天文台 36
29天文台 37      DateTime d6 = (d1.AddHours(2)).AddSeconds(2 * window);
30天文台 38      DateTime d7 = (d1.AddHours(2)).AddSeconds(-2 * window);
31天文台 39      DateTime d8 = (d1.AddHours(2)).AddSeconds(window / 2);
32天文台 40      DateTime d9 = (d1.AddHours(2)).AddSeconds(-window / 2);
33天文台 41
34天文台 42      outputBlock.Text += String.Format(“d1 ~= d1 [true]: ” + RoughlyEquals(d1, d1, window, freq)) + “\n”;
35天文台 43      outputBlock.Text += String.Format(“d1 ~= d2 [false]: ” + RoughlyEquals(d1, d2, window, freq)) + “\n”;
36天文台 44      outputBlock.Text += String.Format(“d1 ~= d3 [false]: ” + RoughlyEquals(d1, d3, window, freq)) + “\n”;
37天文台 45      outputBlock.Text += String.Format(“d1 ~= d4 [true]天文台,: ” + RoughlyEquals(d1, d4, window, freq)) + “\n”;
38天文台 46      outputBlock.Text += String.Format(“d1 ~= d5 [true]: ” + RoughlyEquals(d1, d5, window, freq)) + “\n”;
39天文台 47
40天文台 48      outputBlock.Text += String.Format(“d1 ~= d6 [false]: ” + RoughlyEquals(d1, d6, window, freq)) + “\n”;
41天文台 49      outputBlock.Text += String.Format(“d1 ~= d7 [false]: ” + RoughlyEquals(d1, d7, window, freq)) + “\n”;
42天文台 50      outputBlock.Text += String.Format(“d1 ~= d8 [true]: ” + RoughlyEquals(d1, d8, window, freq)) + “\n”;
43天文台 51      outputBlock.Text += String.Format(“d1 ~= d9 [true]: ” + RoughlyEquals(d1, d9, window, freq)) + “\n”;
44天文台 52
45天文台 53
46天文台 54   }
47天文台 55}
48天文台 56

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 亚洲必赢手机官网 版权所有