问题描述
我正在编写一个函数来测试文件创建时间是否在不同时区的当天开始之前,并获取我的本地文件副本是否过时。
在这里检查 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 (将#修改为@)