C#中计算2个时间之间的差(可以计算到时分秒),参考代码如下:
label1.Text = "2012-1-1 15:36:05"; label2.Text = "2012-2-1 20:16:35"; DateTime d1
=new DateTime(2012,1,1,15,36,05); DateTime d2 =new DateTime(2012,2,1,20,16,35);
TimeSpan d3 = d2.Subtract(d1); label3.Text = "相差:" +d3.Days.ToString()+"天" +d3.Hours.ToString()+"小时" +d3.Minutes.ToString()+"分钟" +d3.Seconds.ToString()+"秒"。
拓展资料:
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似。
它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
定义timespan直接减即可。
拓展资料:
DateTime oldDate = new DateTime(2006,6,13);
DateTime newDate = DateTime.Now;
TimeSpan ts = newDate - oldDate;
int differenceInDays = ts.Days;
Console.WriteLine("Difference in days: {0} ", differenceInDays);
DateTime 值类型与 TimeSpan 值类型的差异在于 DateTime 表示时间上的一刻,而 TimeSpan 表示时间间隔。
例如,这表示您可以从 DateTime 的一个实例减去另一个实例来获得它们之间的时间间隔。也可以将正的 TimeSpan 加到当前的 DateTime 来计算将来的日期。
时间值可以加到 DateTime 的实例上,也可以从其中减去。时间值可以为正数也可以为负数,并可以刻度、秒等单位或 TimeSpan 的实例来表示。此值类型中的方法和属性会考虑闰年和月中天数等细节。
楼上贴的代码可能都不是楼主想要的,楼上的代码都是给的绝对时间差,如果我想算"2017-2-13 23:59:59"到"2017-2-14 0:00:01"这两个时间相差的天数,那应该是1天,但是用楼上的代码得到的只有2秒的时间差。
想要算相隔天数,可以这样:
string str1 = "2017-2-13 23:59:59";
string str2 = "2017-2-14 0:00:01";
DateTime d1 = Convert.ToDateTime(str1);
DateTime d2 = Convert.ToDateTime(str2);
DateTime d3 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", d1.Year, d1.Month, d1.Day));
DateTime d4 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", d2.Year, d2.Month, d2.Day));
int days = (d4 - d3).Days;
C#中计算2个时间之间的差(可以计算到时分秒);
参考代码如下:
label1.Text = "2012-1-1 15:36:05";
label2.Text = "2012-2-1 20:16:35";
DateTime d1 =new DateTime(2012,1,1,15,36,05);
DateTime d2 =new DateTime(2012,2,1,20,16,35);
TimeSpan d3 = d2.Subtract(d1);
label3.Text = "相差:"
+d3.Days.ToString()+"天"
+d3.Hours.ToString()+"小时"
+d3.Minutes.ToString()+"分钟"
+d3.Seconds.ToString()+"秒";
DateTime d1;
DateTime d2;
//自己去赋值吧
int days = (d1 - d2).Days;//天数差