在我的网站中,我使用日期数据类型在sql server中存储用户访问DateTime
信息。
因为我在UtcNow
中使用了C#
。
visit_date = System.DateTime.UtcNow
现在我希望得到小时差异,如果相同的用户访问我的网站,那么我如何减去2 UTC日期。我使用以下方式获得差异小时但它给出了错误的小时差异。
TimeSpan timeDiff = System.DateTime.UtcNow.Subtract((DateTime)_Last_View.visit_date);
答案 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
答案 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
。