C#中时间差的计算

         /// <summary>
         /// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值.
         /// </summary>
         /// <param name="DateTime1">第一个日期和时间</param>
         /// <param name="DateTime2">第二个日期和时间</param>
         /// <returns></returns>
         private string DateDiff(DateTime DateTime1,DateTime DateTime2)
         {
             string dateDiff=null;
             try
             {
                 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()+"秒";
             }
             catch
             {

             }
             return dateDiff;
         }
         /// <summary>
         /// 已重载.计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值.
         /// </summary>
         /// <param name="DateTime1">一个日期和时间</param>
         /// <returns></returns>
         private string DateDiff(DateTime DateTime1)
         {
             return this.DateDiff(DateTime1,DateTime.Now);
         }

注:

1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.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值表示的秒数。
===================================================

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#中时间差的计算

时间: 2024-08-24 22:00:07

C#中时间差的计算的相关文章

在如下8*6的矩阵中,请计算从A移动到B一共有____种走法。要求每次只能向上或向右移动一格,并且不能经过P。

在如下8*6的矩阵中,请计算从A移动到B一共有__种走法.要求每次只能向上或向右移动一格,并且不能经过P. A:456 B:492 C:568 D:626 E:680 F:702 解析: 8*6的矩阵,从左下角A到右上角B,一共需要走12步,其中5步向上,7步向右,因此总的走法一共有C(12,5)=792种,但题目规定不能经过P,因此需要减去经过P点的走法. 经过P的路径分为两部分,从A到P,从P到B. 同理,从A到P的走法:C(6,2)=15: 同理,从P到B的走法:C(6,3)=20: 因此

Python中的简单计算

Python中的简单计算 (1)基本的加减乘除 >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5  1.6 (2)除法总是会返回一个浮点数,想要返回整数,需要用"//"来表示(floor division),另外,可以用"%"进行取余操作 >>> 17 / 3  # classic division ret

警惕C++中整数除法计算的精度损失

很偶然发现了一个精度损失的问题,简单来说: 有表达式: l = i/30 + j/40 + k/25, 求当{i,j,k} = {50,85,27}时l的值,很简单,用计算器马上可以算出答案为4.8717,但是编写了以下程序来实现: int i = 50,j = 85, k = 27; double l = i/30 + j/40 + k/25; 运行后,结果显示4.000000000! 为什么?这是因为在C++中两个整数相处得到的结果还是整数,故除法都被四舍五入了再相加,就得到结果4.0000

openstack中彻底删除计算节点的操作记录

在使用openstack的过程中,我们经常会添加好几台计算节点来部署虚拟机,在后续使用中由于某些原因,一些计算节点出现了问题,需要将这些出了问题的计算节点从openstack的控制节点中踢出去!但是很多时候,在删除计算节点的时候由于删除不彻底而导致了后面使用openstack出现了诸多问题. 下面记录了在openstack中彻底删除计算节点linux-node2.openstack的操作: 在控制节点上操作 查看计算节点 [[email protected] src]# openstack ho

Mean and Standard Deviation-从文件中读取数据计算其平均数和标准差

Meanand Standard Deviation-从文件中读取数据计算其平均数和标准差 //Meanand Standard Deviation-从文件中读取数据计算其平均数和标准差 #include<iostream> #include<fstream> #include<cstdlib> #include<cmath>   int main() {     usingnamespace std;     ifstream fin;     ofstr

Ceph中的容量计算与管理

转自:https://www.ustack.com/blog/ceph%ef%bc%8drongliang/ 在部署完Ceph集群之后,一般地我们可以通过Ceph df这个命令来查看集群的容量状态,但是Ceph是如何计算和管理的呢?相信大家都比较好奇.因为用过 ceph df这个命令的人都会有这个疑问,它的输出到底是怎么计算的呢?为什么所有pool的可用空间有时候等于GLOBAL中的可用空间,有时候不等呢? 带着这些疑问我们可以通过分析ceph df的实现,来看看Ceph是如何计算容量和管理容量

GLSL 中的光照计算

理论知识转载地址:http://blog.csdn.net/ym19860303/article/details/25545933 1.Lambert模型(漫反射) 环境光: Iambdiff = Kd*Ia 其中Ia 表示环境光强度,Kd(0<K<1)为材质对环境光的反射系数,Iambdiff是漫反射体与环境光交互反射的光强. 方向光: Ildiff = Kd * Il * Cos(θ) 其中Il是点光源强度,θ是入射光方向与顶点法线的夹角,称入射角(0<=A<=90°),Ild

SL 的 DATAGRID中如何加入计算列?

例如,我的数据库中实体表对应到EF中的实体类是 class { public int  F1; public int F2; } 我在服务端做domainservice 我在SL端使用wcf ria,绑定到一个datagrid,想加入一个列,myF3=F1+F2,实现类似效果. 请高人指点,谢谢!!! SL 的 DATAGRID中如何加入计算列?

TCP协议中RTO的计算

说明:  本文仅供学习交流,转载请标明出处,欢迎转载! 本文是以下文献相关内容的总结 [1] <TCP/IP详解 卷1:协议> [2] <TCP/IP协议族 第4版> [3] <计算机网络 第5版> TCP协议中经常会发生超时重传的情况,我们知道超时重传中的"时"是即RTO.RTO是Retransmission Time-OutD的缩写,该时间决定了发送方在发送数据后,在多长时间内如果没有收到ACK,就重置重传计时器,并重传上次发送失败的报文.那么R