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

分区日期时间和即时之间的 Noda 时间比较

如何解决分区日期时间和即时之间的 Noda 时间比较

我正在编写一个函数来测试文件创建时间是否在不同时区的当天开始之前,并获取我的本地文件副本是否过时。

在这里检查 Noda Time - Start/end of day with zone 我想出了以下内容

bool FileCreationIsBeforeStartOfDayInNewYork()
{
    var zone = DateTimeZoneProviders.Tzdb["America/New_York"];
    var NowInNewYork = SystemClock.Instance.InZone(zone).GetCurrentzoneddatetime();
    var today = NowInNewYork.Date;
    var startOfDay = zone.AtStartOfDay(today);
    var fileCreationTime = zoneddatetime.FromDateTimeOffset(File.GetLastWriteTime(Filename).ToUniversalTime());
    return fileCreationTime.ToInstant() < startOfDay.ToInstant();
}

File.GetLastWriteTime 方法返回本地系统时钟的文件修改时间。

我很困惑是应该将文件创建时间转换为系统本地时间还是坚持使用 UTC,并且在这种情况下我对 ToInstant 的使用是否正确?

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