Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中减去2个UTC日期#_C#_Datetime_Utc - Fatal编程技术网

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

C# 如何在C中减去2个UTC日期#,c#,datetime,utc,C#,Datetime,Utc,在我的网站中,我使用日期数据类型将用户访问日期时间信息存储在sql server中。 为此,我在C中使用了UtcNow 现在,如果同一用户访问我的网站,我想得到小时差,那么我如何减去2个UTC日期。我使用以下方法获得小时差,但它给出了错误的小时差 TimeSpan timeDiff = System.DateTime.UtcNow.Subtract((DateTime)_Last_View.visit_date); 尝试使用生成的时间跨度上的总小时数获取小时数,如: TimeSpan inte

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

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

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

尝试使用生成的时间跨度上的总小时数获取小时数,如:

TimeSpan interval = date2.Subtract(date1);
double Hours = interval.TotalHours;
检查此项

尝试使用:

谢谢

它起作用了

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

            if (timeDiff.TotalHours > 24)
            {
            }

我使用的是
timeDiff.Hours
而不是
timeDiff.TotalHours

您的代码没有问题,但是访问日期的值可能与您期望的值不同(假设使用了timeDiff.TotalHours)。+1。这是最可能的原因-TimeSpan.Hours与TimeSpan.TotalHours(假设数据正确)。谢谢…我使用的是Hours属性而不是TotalHours。
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
double timeDiffTicks = System.DateTime.UtcNow.Ticks - visit_date.Ticks;
double hours = (((timeDiffTicks / 10000)/1000) / 60)/60;
TimeSpan timeDiff = System.DateTime.UtcNow.Subtract((DateTime)_Last_View.visit_date);

            if (timeDiff.TotalHours > 24)
            {
            }