开发者社区> 流楚丶格念> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C# 计算两个日期的时间间隔

简介: C# 计算两个日期的时间间隔
+关注继续查看

计算间隔


方法一:DateTime.Subtract(DateTime)


参数为两个datetime类型,返回的是处理后的字符串


如果不知道字符串怎样转化为DateTime 类型,可以参考我整理的另一篇博文:


https://yangyongli.blog.csdn.net/article/details/117649851


方法一用DateTime.Subtract(DateTime) 方法进行计算,其结果与方法1相同,表示用当前时间减去参数所代入的时间,返回一个TimeSpan


/// 计算两个日期的时间间隔
///
/// 第一个日期和时间
/// 第二个日期和时间
///
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
    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() + "秒";

    return dateDiff;
}


方法二:直接相减


1、两个DateTime直接相减,得到一个TimeSpan,表示两个时间的间隔


DateTime dTimeEnd = examAirTime.AddMinutes(examPeriod); 
DateTime dTimeServer = dataClass.getDateServer(); 
TimeSpan ts = dTimeEnd - dTimeServer; 
TimeSpan ts2 = dTimeEnd.Subtract(dTimeServer); 
MessageBox.Show(ts.ToString() + "\n" + ts2.TotalMinutes.ToString());


知识说明:


1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。


因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻。


2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值


下面的列表涵盖了其中的一部分:


TimeSpan方法


Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。


TimeSpan结构


TimeSpan结构表示一个时间间隔,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。


TimeSpan对象的文本(.tostring())“11.13:46:40”,表示 11 天,13 小时,46 分钟和 40 秒。


TimeSpan.TotalSeconds 属性:获取以整秒数和秒的小数部分表示的当前 TimeSpan 结构的值,可为负数。即将天、小时、分、秒转化为秒来显示。


TimeSpan的Days、Hours、minutes、seconds属性:分别用于获取时间间隔的天、小时、分、秒。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
js 计算两个时间的时间差
如题,就像题目说的需要计算出时间差,虽然不太难,但这个需求经常会在项目中遇到的,我在这边做一下整理,希望能够尽量全的整理出来。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。 本文首发于我的个人blog:obkoro1.com 计算时间差原理: getTime()方法 方法定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。 通常我们计算时间差都是通过获取两个时间数据,然后分别使用getTime()方法返回与固定的1970 年 1 月 1 日的时间差,通过对返回毫秒数的差,换算成时间单位,得出两个时间的时间差。 开始操作:
43 0
Java 输入两个日期,计算出期间的周数
Java 输入两个日期,计算出期间的周数
72 0
MySQL:日期时间函数-日期时间计算和转换
MySQL:日期时间函数-日期时间计算和转换
1451 0
Java计算两个日期相差的月数
Java计算两个日期相差的月数
4430 0
js时间戳转换日期格式和日期计算
一、时间戳转换日期 1 function formatDate(datetime) { 2 // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 3 var year = datetime.
1626 0
+关注
流楚丶格念
csdn平台优质创作者,51cto TOP博主,360图书馆科技博主,燕山大学目前大三在读,日拱一卒,功不唐捐,加油!!!
1010
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载