我正在使用返回DateTimeOffset
的Microsoft API。此值是根据本地测量的当前UTC时间计算的。
我想将这次与托管我的应用程序的本地服务器进行比较。(所以DateTimeOffset是由Microsoft API返回的,我想比较的地方是在我的服务器上。这两个可以有不同的时区)
检查DateTimeOffset
时,Date &UTC属性具有相同的Date &时间和Kind
属性未指定
我目前使用DateTimeOffset < DateTime.UtcNow
检查条件。我做得对吗?
您应该使用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
希望这对你有帮助。
谢谢