在哪里寻找真相的来源?
IANA time zone database是我知道的最好的来源,这就是Noda Time使用的。
如果您想查看随时间变化的结果,tzvalidate页面有一个文件列表,每个IANA发布一个。每个文件显示1900到2035年之间每个时区的每个转换。
现在,我没有看到您的结果,这表明您没有正确使用Noda时间。这里有一个例子:
using NodaTime;
using System;
public class Program
{
public static void Main(string[] args)
{
var zone = DateTimeZoneProviders.Tzdb["Australia/Melbourne"];
var start = Instant.FromUtc(2015, 1, 1, 0, 0);
var end = Instant.FromUtc(2020, 1, 1, 0, 0);
foreach (var interval in zone.GetZoneIntervals(start, end))
{
Console.WriteLine($"{interval.Start} - {interval.End}: {interval.WallOffset} {interval.Name}");
}
}
}
输出:
2014-10-04T16:00:00Z - 2015-04-04T16:00:00Z: +11 AEDT
2015-04-04T16:00:00Z - 2015-10-03T16:00:00Z: +10 AEST
2015-10-03T16:00:00Z - 2016-04-02T16:00:00Z: +11 AEDT
2016-04-02T16:00:00Z - 2016-10-01T16:00:00Z: +10 AEST
2016-10-01T16:00:00Z - 2017-04-01T16:00:00Z: +11 AEDT
2017-04-01T16:00:00Z - 2017-09-30T16:00:00Z: +10 AEST
2017-09-30T16:00:00Z - 2018-03-31T16:00:00Z: +11 AEDT
2018-03-31T16:00:00Z - 2018-10-06T16:00:00Z: +10 AEST
2018-10-06T16:00:00Z - 2019-04-06T16:00:00Z: +11 AEDT
2019-04-06T16:00:00Z - 2019-10-05T16:00:00Z: +10 AEST
2019-10-05T16:00:00Z - 2020-04-04T16:00:00Z: +11 AEDT
正如你所看到的,它是 +10标准时间和+11日光时间。
仅供参考 - 我使用我编写的使用Noda Time获取tzdb数据的应用程序维护Wikipedia页面。 –
伟大的信息@MattJohnson这是有帮助的:) –