asp.net c# 计算时间差

2025-02-24 17:51:29
推荐回答(5个)
回答1:

DateTime DateTime1,
DateTime2 = DateTime.Now ;//现在时间
DateTime1 =Convert.ToDateTime("2009-04-24 20:00:00"); //设置要求的减的时间
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
//显示时间
dateDiff = ts.Days.ToString() + "天"
+ ts.Hours.ToString() + "小时"
+ ts.Minutes.ToString() + "分钟"
+ ts.Seconds.ToString() + "秒";

回答2:

C#中的TimeSpan,实例化后可以用两个日期相减赋值
TimeSpan ts = new TimeSpan();
ts=DateTime1-DateTime2;
TimeSpan 对象的结构是:整型天,hh24:MM:dd.8位整数前三位秒
比如:{390.08:43:27.8437500}
输出的区别是:
ts.Hours 8 int
ts.TotalHours 9368.7244010416671 double
(int)ts.TotalHours 9368

回答3:

两个日期相减,就能直接得到两个日期的间隔TimeSpan对象。

在使用这个对象的属性(Hours获取相隔的小时、Days相隔的天数、Milliseconds相隔的毫秒数)来获取你需要的时间差。如果不能判断哪个时间大,则把取出来的值执行一下绝对值操作

//获取两个时间相隔的小时数
public int GetHourSpan(DateTime dt1, DateTime dt2){
return Math.Abs(dt1 - dt2);
}

回答4:

"2011-1-1 20:30:25";
"2011-2-1 20:40:35";

DateTime d1 =new DateTime(2011,1,1,20,30,25);
DateTime d2 =new DateTime(2011,2,1,20,40,35);

TimeSpan d3 = d2.Subtract(d1);

d3.Days //天
d3.Hours //小时
d3.Minutes //分钟
d3.Seconds //秒

回答5:

var span = OneDateTime - AnotherDateTime;