如何在C#中减去2个UTC日期

时间:2012-06-20 04:47:18

标签: c# datetime utc

在我的网站中,我使用日期数据类型在sql server中存储用户访问DateTime信息。 因为我在UtcNow中使用了C#

 visit_date = System.DateTime.UtcNow

现在我希望得到小时差异,如果相同的用户访问我的网站,那么我如何减去2 UTC日期。我使用以下方式获得差异小时但它给出了错误的小时差异。

TimeSpan timeDiff = System.DateTime.UtcNow.Subtract((DateTime)_Last_View.visit_date);

4 个答案:

答案 0 :(得分:6)

尝试使用生成的Timespan上的TotalHours获取小时数,如:

TimeSpan interval = date2.Subtract(date1);
double Hours = interval.TotalHours;

答案 1 :(得分:2)

DateTime dt1 = DateTime.UtcNow;
DateTime dt2 = (DateTime)_Last_View;

TimeSpan ts = dt1.Subtract(dt2);

int seconds = ts.Seconds;
int minutes = ts.Minutes;
double hours = ts.TotalHours;
int days = ts.Days;
int days = ts.TotalDays;
int years = (int) (ts.Days / 365.25); // leap years included

选中此Calculating Date Difference in C#

答案 2 :(得分:2)

尝试使用Ticks

double timeDiffTicks = System.DateTime.UtcNow.Ticks - visit_date.Ticks;
double hours = (((timeDiffTicks / 10000)/1000) / 60)/60;

答案 3 :(得分:1)

谢谢。

它有效

TimeSpan timeDiff = System.DateTime.UtcNow.Subtract((DateTime)_Last_View.visit_date);

            if (timeDiff.TotalHours > 24)
            {
            }

我使用timeDiff.Hours代替timeDiff.TotalHours