初始化两个时间变量用于演示实例。

DateTime dt1 = new DateTime(2013, 10, 13, 19, 15, 50);
DateTime dt2 = new DateTime(2013, 10, 13, 19, 18, 50);

下面以计算两个时间相隔总秒数为例。

方法一:

TimeSpan ts1 = dt2.Subtract(dt1);
double secInterval1 = ts1.TotalSeconds;

也可以简写为:

double secInterval1=dt2.Subtract(dt1).TotalSeconds;

方法二:

TimeSpan ts2 = dt2 - dt1;
double secInterval2 = ts2.TotalSeconds;

可简写为:

double secInterval2 = (dt2-dt1).TotalSeconds;

增加输出操作:

Console.WriteLine("dt1={0}", dt1);
Console.WriteLine("dt2={0}", dt2);
Console.WriteLine("dt2.Subtract(dt1).TotalSeconds={0}", secInterval1);
Console.WriteLine("(dt2-dt1).TotalSeconds={0}", secInterval1);

得到结果:

可见,两种方法结果一致。

当然,还可以计算两时间相隔的天数,小时数,分钟数等等。

下面同样给出演示代码。

int days = ts1.Days;//获取当前 TimeSpan 结构所表示的时间间隔的天数部分。
int hours = ts1.Hours; //获取当前 TimeSpan 结构所表示的时间间隔的小时数部分。
int mins = ts1.Minutes;//获取当前 TimeSpan 结构所表示的时间间隔的分钟数部分。
int secs = ts1.Seconds;//获取当前 TimeSpan 结构所表示的时间间隔的秒数部分。
int msecs = ts1.Milliseconds;//获取当前 TimeSpan 结构所表示的时间间隔的毫秒数部分。
double dayInterval1 = ts1.TotalDays;//获取以整天数和天的小数部分表示的当前 TimeSpan 结构的值。
double hourInterval1 = ts1.TotalHours;//获取以整小时数和小时的小数部分表示的当前 TimeSpan 结构的值。
double minInterval1=ts1.TotalMinutes;//获取以整分钟数和分钟的小数部分表示的当前 TimeSpan 结构的值。
double secInterval1 = ts1.TotalSeconds;//获取以整秒数和秒的小数部分表示的当前 TimeSpan 结构的值。
double msecInterval1 = ts1.TotalMilliseconds;//获取以整毫秒数和毫秒的小数部分表示的当前 TimeSpan 结构的值。

重新初始化dt1 ,dt2。

DateTime dt1 = new DateTime(2013, 10, 13, 19, 15, 50);
DateTime dt2 = new DateTime(2013, 10, 18, 20, 18, 53);

再次运行程序,得到以下结果:

大家请注意ts1.Days与ts1.TotalDays等的区别,以免在开发中出现不必要的错误。

扩展阅读:

如何比较DateTime类型数据的大小

C#计算时间间隔的方法小结的更多相关文章

  1. python使用datetime模块计算各种时间间隔的方法

    python使用datetime模块计算各种时间间隔的方法 本文实例讲述了python使用datetime模块计算各种时间间隔的方法.分享给大家供大家参考.具体分析如下: python中通过datet ...

  2. 通过jxl 读取excel 文件中的日期,并计算时间间隔

    java读取excel里面的日期会出现相差8小时的问题. 比如excel里面有一个日期是:2012-7-2 17:14:03秒,用Cell cell=readSheet.getCell(colNo, ...

  3. T-SQL切割字符串方法小结

    T-SQL切割字符串方法小结,只有表值函数那个是自己的思想,其它都是来源于网络的思想,请大家不要笑话,嘻嘻~网上大牛太多,这点东西虽然上不了台面,但是也算是自己的一个学习吧,能够对一个人有用也行.再不 ...

  4. vue的计算属性与方法的不同

    计算属性 vue的模板里可以使用表达式,但是它的设计初衷是用于简单计算,在模板中放入太多逻辑会让模板过重且难以维护.例如: <div id="example"> {{ ...

  5. c#使用Stopwatch来计算时间间隔

    今天要记录一个接口的耗时情况,就要求去写一段测试各个代码运行时间的方法,于是就加了这么一段代码.原来的做法是在代码执行之前和之后获取系统时间,然后相减.被改成了使用c#里的Stopwatch来计算时间 ...

  6. Sql server2005 优化查询速度50个方法小结

    Sql server2005 优化查询速度50个方法小结   Sql server2005优化查询速度51法查询速度慢的原因很多,常见如下几种,大家可以参考下.   I/O吞吐量小,形成了瓶颈效应.  ...

  7. Powershell计算时间间隔(New-TimeSpan)

    在Windows PowerShell里New-TimeSpan cmdlet提供了一种方法做日期算法. 计算时间间隔: 这个命令告诉你今天的日期与2006年除夕之间的天数: New-TimeSpan ...

  8. 在Linux下禁用IPv6的方法小结

    在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...

  9. 【转】TextView长按复制实现方法小结

    有这么一个需求,用户在浏览文本信息时希望长按信息就能弹出复制的选项方便保存或者在别的页面使用这些信息.类似的, 就像长按WebView或者EditText的内容就自动弹出复制选项. 这里面主要是2个特 ...

随机推荐

  1. POJ 1258 + POJ 1287 【最小生成树裸题/矩阵建图】

    Farmer John has been elected mayor of his town! One of his campaign promises was to bring internet c ...

  2. 【java】线程安全的整型类AtomicInteger

    一.遇见AtomicInteger 在看项目代码的时候看到这个类,发现其功能很简单,就是一个整型变量的类型,出于好奇看了其类定义. 该类位于java.util.concurrent.atomic下,在 ...

  3. [BZOJ4709][JSOI2011]柠檬(斜率优化DP)

    显然选出的每一段首尾都是相同的,于是直接斜率优化,给每个颜色的数开一个单调栈即可. #include<cstdio> #include<vector> #include< ...

  4. [BZOJ4710][JSOI2011]分特产(组合数+容斥原理)

    4710: [Jsoi2011]分特产 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 395  Solved: 262[Submit][Status] ...

  5. [BZOJ 2427] 软件安装

    Link: BZOJ 2427 传送门 Solution: 只看样例的话会以为是裸的树形$dp$…… 但实际上题目并没有说明恰好仅有一个物品没有依赖项 因此原图可能由是由多棵树与多个图组成的 先跑一遍 ...

  6. 2017icpc 乌鲁木齐网络赛

    A .Banana Bananas are the favoured food of monkeys. In the forest, there is a Banana Company that pr ...

  7. [CODECHEF]LUCASTH

    题意:设$f(n,k)=\sum\limits_{\substack{S\subseteq\{1,\cdots,n\}\\|S|=k}}\prod\limits_{x\in S}x$,问$f(n,0\ ...

  8. MATLAB/Octave warning: mx_el_eq: automatic broadcasting operation applied 错误分析

    在进行对一个mXn的矩阵与mX1的矩阵进行==比较时,原意是想让mXn的矩阵的每一行分别与mX1的矩阵每一行进行比较,得到的结果虽然是对的,但会报一个warning: mx_el_eq: automa ...

  9. 通过现有数据导出新表SQL

    Date: 20140217 Auth: JIN 需求: 导出一个表的两个列的表的SQL语句(包含数据) 方法:创立一个临时表 mysql> desc kw_keywords;+-------- ...

  10. Phpstorm-php在线手册配置

    php在线手册配置 第一个是浏览器软件位置 第二个是php网站写法 第三个是工作路径 C:\Users\hasee\AppData\Local\Google\Chrome\Application\ch ...