分钟数,直到未知的日期时间为止



如果我有一个将未来设置为未来的DateTime变量,并且我不知道它是否设置为UTC或本地时间,我该如何找到直到这个时间的分钟数?这样的东西:

DateTime futureTime;
// futureTime is set to some value...
int minutesUntilFutureTime = futureTime - DateTime.Now;

您想要一个timespan对象

 TimeSpan untilFutureTime = futureTime - DateTime.Now;

Timespan拥有一个名为分钟和总分钟的属性,总分钟是您想要的。

 int minutesUntilFutureTime = untilFutureTime.TotalMinutes;

doc https://learn.microsoft.com/en-us/dotnet/api/system.timespan?view=netframework-4.8

DateTime具有一种允许您确定时间是本地还是UTC的属性。它也可以是Unspecified,在这种情况下,我认为您只需要猜测,因为您没有足够的信息。

另一个选项可能是使用.tolocaltime((方法迫使您的日期时间始终表示本地dateTime。

DateTime futureTime;
double minutesUntilFutureTime = (futureTime.ToLocalTime() - DateTime.Now).TotalMinutes;

最新更新