以下代码检查DST中的特定时间,或者在正常的datetime和从filetime获得的值相同的时间内未返回不同的值:
var tzInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
var reminderstarttime = new DateTime(2018, 3, 10, 22, 0, 0);
var referencetime = reminderstarttime.AddHours(10); // ReferencedTime is in DST;
var isRemDstWithNormal = tzInfo.IsDaylightSavingTime(reminderstarttime);
var isRefDstWithNormal = tzInfo.IsDaylightSavingTime(referencetime);
var reminderStartTimeToUtc = (ulong)reminderstarttime.ToFileTimeUtc();
var referenceTimeToUtc = (ulong)referencetime.ToFileTimeUtc();
var reminderStartTimeFromUtc = DateTime.FromFileTimeUtc((long)reminderStartTimeToUtc);
var referencetimeFromUtc = DateTime.FromFileTimeUtc((long)referenceTimeToUtc);
var isRemDSTFromFileTime = tzInfo.IsDaylightSavingTime(reminderStartTimeFromUtc);
var isRefTimeDSTFromFileTime = tzInfo.IsDaylightSavingTime(referencetimeFromUtc);
Console.WriteLine("isRemDstWithNormal: " + isRemDstWithNormal +
" isRefDstWithNormal: " + isRefDstWithNormal +
" isRemDSTFromFileTime " + isRemDSTFromFileTime +
" isRefTimeDSTFromFileTime: " + isRefTimeDSTFromFileTime);
小唯快跑啊
万千封印
拉风的咖菲猫
相关分类