.NET中UTC和GMT标准时间之间的差异
在.NET中,以下语句返回不同的值:.NET中UTC和GMT标准时间之间的差异,.net,timezone,utc,gmt,.net,Timezone,Utc,Gmt,在.NET中,以下语句返回不同的值: Response.Write( TimeZoneInfo.ConvertTime( DateTime.Parse("2010-07-01 5:30:00.000"), TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"), TimeZoneInfo.FindSystemTimeZoneById("GMT Stand
Response.Write(
TimeZoneInfo.ConvertTime(
DateTime.Parse("2010-07-01 5:30:00.000"),
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"),
TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"))
);
// displays 7/1/2010 1:30:00 PM
…还有这个
Response.Write(
TimeZoneInfo.ConvertTime(
DateTime.Parse("2010-07-01 5:30:00.000"),
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"),
TimeZoneInfo.FindSystemTimeZoneById("UTC"))
);
// displays 7/1/2010 12:30:00 PM
为什么会这样?我认为UTC和GMT标准时间是相等的
更新 经过进一步测试,我发现以下内容似乎是等效的: “UTC” “格林威治标准时间” “摩洛哥标准时间” 鉴于,以下情况在夏季月份有所不同: “格林尼治标准时间” 也许我的问题应该是,“格林威治标准时间”和“格林威治标准时间”为什么不同 结束更新以下是对的讨论。似乎UTC通常在时间范围需要高精度时使用。格林威治时间非常接近,与UTC来回使用
希望这能有所帮助。区别如下:
- 是 最初指平均数的术语 皇家天文台太阳时 在伦敦的格林威治。鉴于
- (法语:坦普斯大学) Coordonné)是基于时间标准的 关于国际原子时(TAI) 以不规则的速度增加闰秒 补偿时间间隔 地球的慢自转
-
另一方面是
将时钟提前到并用于
季节变化,最大限度地利用
白昼
。这可能是可变的,因为去年夏天,巴基斯坦等一些国家决定比平时晚一个月把时钟调回来“这在许多国家都存在,但并非所有国家都存在”
- 这是个好主意 用于最新时间的资源 全球信息
Console.WriteLine(TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time").SupportsDaylightSavingTime);
输出:True
这不是一个.NET问题,它是Windows搞乱了。TimeZoneInfo使用的注册表项是HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\TimeZones\GMT标准时间。你最好坚持UTC。[我只是支持Hans Passant的答案] 在我看来,“格林威治标准时间”一词的用法似乎有点混乱,它似乎是用来表示“格林威治标准时间”,同时也是英国/爱尔兰使用的时区——它在冬季的格林威治标准时间和夏季的英国夏季时间之间切换,似乎没有一个明确的名称 为了让事情更加混乱,我从运行示例代码并查看输出 我很惊讶地看到“格林尼治标准时间”时区的以下定义 ID:GMT标准时间 显示名称:(UTC)都柏林、爱丁堡、里斯本、伦敦 标准名称:格林尼治标准时间 夏令时名称:GMT夏令时***有夏令时*** 与UTC的偏移量:0小时0分钟 调整规则数:1 调整规则: 从01/01/0001 00:00:00至31/12/9999 00:00:00 增量:01:00:00 3月第5周星期日01:00开始 10月5日星期日02:00结束 看来(至少在我看来),无论是谁,在微软负责定义时区的人,都在这里把事情搞得一团糟
他们显然想描述英国/爱尔兰使用的时区,但他们给了它一个ID,在ID和显示名称中包含术语“GMT”和UTC。我相当有信心,这个时区定义(无论它应该被称为什么)不是UTC。它可能有半年的时间与UTC非常相似,但仅此而已 具有
“GMT标准时间”
的.Id
的TimeZoneInfo
对象对应于(UTC)都柏林、爱丁堡、里斯本、伦敦的.DisplayName
该时区在冬季月份使用格林威治标准时间(GMT)(UTC+0),在夏季月份使用英国夏季时间(BST)(UTC+1)
UTC时区的.Id
为“UTC”
和.DisplayName
为“(UTC)协调世界时”
它们是两种不同的时区设置。
此外,在Windows中查看时区显示名称列表时:
括号中的值只是标准偏移量,因此虽然UTC有四种不同的设置,但实际上只有一种设置。只是其他三个区域在夏时制未生效时使用UTC作为其基准偏移量。这是一个延迟的回答,原始提问者不太可能阅读,但搜索此主题的人可能会发现
格林尼治标准时间和格林尼治夏令时的名称在雷德蒙之外是未知的。它们是神话中的动物,只出现在名为Windows注册表的兽栏中。在现实世界中,英国在冬季观测格林威治标准时间(GMT),在夏季观测英国夏令时(BST)。英国夏令时比格林尼治标准时间提前1小时(向东)。欧洲人通常不谈论“白天”,而是谈论“夏季”,至少用我所知道的语言是这样的
一位受访者表示,应该优先使用UTC而不是GMT。国际天文联合会的这一建议可以追溯到1935年。它的观点是,在1925年之前,格林尼治标准时间是从中午开始计算的,而不是从午夜开始计算的,因此即使是在10年后,模棱两可的可能性仍然存在。但是现在有点过时了。在过去的80年里,GMT和世界时几乎是同义词。当然不是。但是你需要一个天文学家来解释这种差异。如果你关心的是时间,而不是秒,你可能不会在意
GMT是关于英语国家的民间计时。它不是过时的。英国、爱尔兰、加拿大甚至比利时的法律都明文规定了这一点
宇宙时间的各种味道都与天文计时有关
和土木工程
ID: GMT Standard Time
Display Name: (UTC) Dublin, Edinburgh, Lisbon, London
Standard Name: GMT Standard Time
Daylight Name: GMT Daylight Time ***Has Daylight Saving Time***
Offset from UTC: 0 hours, 0 minutes
Number of adjustment rules: 1
Adjustment Rules:
From 01/01/0001 00:00:00 to 31/12/9999 00:00:00
Delta: 01:00:00
Begins at 01:00 on Sunday of week 5 of March
Ends at 02:00 on Sunday of week 5 of October