C#中时间差的计算

博客给出了一段C#程序代码,通过定义两个DateTime对象表示不同日期时间,使用Subtract方法计算它们的差值,最后将差值的天数、小时数、分钟数和秒数显示出来,实现了日期时间差的计算。
程序代码: 
label1.Text = "2004-1-1 15:36:05";
label2.Text = "2004-3-1 20:16:35";
   
   DateTime d1 =new DateTime(2004,1,1,15,36,05);
   DateTime d2 =new DateTime(2004,3,1,20,16,35);
   
   TimeSpan d3 = d2.Subtract(d1);

   label3.Text = "相差:"
    +d3.Days.ToString()+"天"
    +d3.Hours.ToString()+"小时"
    +d3.Minutes.ToString()+"分钟"
    +d3.Seconds.ToString()+"秒";
 
 




程序代码:
c#的时间段TimeSpan对象的最大间隔单位为天

简单的实现如下:

System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);

// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);

// date4 gets 4/9/1996 5:55:00 PM.
System.DateTime date4 = date3.Subtract(diff1);

// diff2 gets 55 days 4 hours and 20 minutes.
System.TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System.DateTime date5 = date1 - diff2;
C#中,DateTime和TimeSpan是处理时间日期类型数据的主要结构,其中DateTime表示一个固定的时间,而TimeSpan表示的是一个时间间隔,可用于计算两个时间的差值。 可以通过两个日期时间的差值来创建一个TimeSpan,示例代码如下: ```csharp DateTime startTime = DateTime.Parse("2023-04-01 14:00:00"); DateTime endTime = DateTime.Parse("2023-04-01 16:30:00"); TimeSpan difference = endTime - startTime; // 得到的时间间隔是2小时30分钟 ``` 此外,TimeSpan还提供了一系列属性和方法来获取不同单位的时间差,例如: - `Days`:返回用天数计算的TimeSpan值。 - `Hours`:返回用小时计算的TimeSpan值。 - `Minutes`:返回用分钟计算的TimeSpan值。 - `Seconds`:返回用秒计算的TimeSpan值。 - `TotalDays`:返回TimeSpan值表示的天数。 - `TotalHours`:返回TimeSpan值表示的小时数。 - `TotalMinutes`:返回TimeSpan值表示的分钟数。 - `TotalSeconds`:返回TimeSpan值表示的秒数。 示例代码如下: ```csharp DateTime startTime = DateTime.Parse("2023-04-01 14:00:00"); DateTime endTime = DateTime.Parse("2023-04-01 16:30:00"); TimeSpan difference = endTime - startTime; int days = difference.Days; int hours = difference.Hours; int minutes = difference.Minutes; int seconds = difference.Seconds; double totalDays = difference.TotalDays; double totalHours = difference.TotalHours; double totalMinutes = difference.TotalMinutes; double totalSeconds = difference.TotalSeconds; ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值