微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 DateTimeOffset 与夏令时进行比较

如何解决将 DateTimeOffset 与夏令时进行比较

此处 DateTimeOffset 实例表示相同的时间,但一个实例具有 DST,而其他实例则没有。 我想比较没有 DST 的实例,所以结果为 True。

using System;

var today = DateTime.Today;

// Today YYYY-MM-01
var firstDayMonth = new DateTimeOffset(
    new DateTime(today.Year,today.Month,1,today.Kind).AddHours(12));

// Add year offset from 2000
DateTimeOffset withYearOffset = firstDayMonth.AddYears(2000 - firstDayMonth.Year);

// Add month offset from 1
var withMonthOffset = withYearOffset.AddMonths(1 - withYearOffset.Month);

// Add day offset from 1
var calculated_dt_2000_1_1_12_0_0 = withMonthOffset.AddDays(1 - withMonthOffset.Day);

// 01.01.2000 12:00:00 +03:00
Console.WriteLine(calculated_dt_2000_1_1_12_0_0);

var dt_2000_1_1_12_0_0 = new DateTimeOffset(new DateTime(2000,1).AddHours(12));

// 01.01.2000 12:00:00 + 02:00
Console.WriteLine(dt_2000_1_1_12_0_0);

// False
Console.WriteLine(calculated_dt_2000_1_1_12_0_0.Equals(dt_2000_1_1_12_0_0));

解决方法

转换为 UTC 可以解决问题。

fname = max(punsrtd,key=os.path.getmtime)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。