c# DateTimeOffset与LocalDate的比较

本文关键字:比较 LocalDate DateTimeOffset | 更新日期: 2023-09-27 18:16:49

我正在使用返回DateTimeOffset的Microsoft API。此值是根据本地测量的当前UTC时间计算的。

我想将这次与托管我的应用程序的本地服务器进行比较。(所以DateTimeOffset是由Microsoft API返回的,我想比较的地方是在我的服务器上。这两个可以有不同的时区)

检查DateTimeOffset时,Date &UTC属性具有相同的Date &时间和Kind属性未指定

我目前使用DateTimeOffset < DateTime.UtcNow检查条件。我做得对吗?

c# DateTimeOffset与LocalDate的比较

您应该使用dateTimeOffset.LocalDateTime < dateTime

.LocalDateTime方法将把DateTimeOffset转换为您的本地时区(使用DateTimeKind.Local),因此您可以安全地与您的本地DateTime进行比较。

您可以使用下面的代码

获得以分钟为单位的偏移时差
// Get the GMT time difference offset (This is your local time offset difference)
var timeOffsetinMiniut = DateTimeOffset.Now.Offset.TotalMinutes;

现在你可以使用添加这个偏移量在你的本地时间,使其成为一个UTC时间。

var myNewDateTime = System.DateTime.Now.AddMinutes(timeOffsetinMiniut)

现在你可以比较utc时间和你的新服务器时间。

myNewDateTime  < DateTime.UtcNow

希望这对你有帮助。

谢谢