C#DateTimeOffset与LocalDate的比较
我正在使用一个Microsoft API,它返回C#DateTimeOffset与LocalDate的比较,c#,.net,c#-4.0,C#,.net,C# 4.0,我正在使用一个Microsoft API,它返回DateTimeOffset。该属性具有以下文档-此值是根据本地测量的当前UTC时间计算的。 我想将这一次与承载我的应用程序的本地服务器进行比较。(因此DateTimeOffset由Microsoft API返回,我要比较的位置在我的服务器上。这两个可以有不同的时区) 检查DateTimeOffset时,Date&UTC属性具有相同的日期和时间,并且Kind属性未指定 我目前正在使用DateTimeOffset
DateTimeOffset
。该属性具有以下文档-此值是根据本地测量的当前UTC时间计算的。
我想将这一次与承载我的应用程序的本地服务器进行比较。(因此DateTimeOffset由Microsoft API返回,我要比较的位置在我的服务器上。这两个可以有不同的时区)
检查DateTimeOffset
时,Date&UTC属性具有相同的日期和时间,并且Kind
属性未指定
我目前正在使用
DateTimeOffset
检查条件。我做得对吗?您应该使用dateTimeOffset.LocalDateTime
.LocalDateTime
方法将DateTimeOffset
转换为本地时区(使用DateTimeKind.local
),因此您可以安全地与本地DateTime
进行比较。您应该使用DateTimeOffset.LocalDateTime
.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
myNewDateTime
希望这对你有帮助
谢谢您可以使用以下代码获得以分钟为单位的偏移时差
// 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
myNewDateTime
希望这对你有帮助
谢谢这似乎是合理的,我会尝试一下,检查一下舞台,看看所有的东西都会像预期的那样标记这个答案!该条件不应该是
DateTimeOffset.ToLocalTime().DateTime
?这似乎是合理的,我会尝试一下,检查staging并查看所有标记此答案的内容!该条件不应该是DateTimeOffset.ToLocalTime().DateTime
?我怀疑这是否有效,因为您在上述解释中没有使用DateTimeOffset
。在上面的上下文中,DateTimeOffset
是一个具有从Microsoft API返回的值的变量。我怀疑这是否有效,因为您在上面的解释中没有使用过DateTimeOffset
。在上面的上下文中,DateTimeOffset
是一个变量,它具有从Microsoft API返回的值。