博客列表 >【笔记】计算两个时间之间的值

【笔记】计算两个时间之间的值

QingShan_NET的博客
QingShan_NET的博客原创
2017年08月26日 00:09:30924浏览

前言

昨天接到经理的BUG通知,说是计费这个地方有些BUG,让我来做个修改,看了一下午的代码,终于找到错误的原因了,现在做个简单的笔记吧,方便以后看。

原始错误

int totalhours = (DateTime.Parse(EndTime.ToString("yyyy-MM-dd HH:mm:ss")) - DateTime.Parse(StartTime.ToString("yyyy-MM-dd HH:mm:ss"))).Hours;

这个错误的结果是6个小时,而我真实相差的是54个小时。根据这个错误,我找了一些资料,并写了一个案例,避免各位同僚,犯这个错误。

知识点

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值表示的秒数。

案例代码

// 第一个存入时间DateTime StartTime = DateTime.Now.AddHours(-54.2);// 第二个取出时间DateTime EndTime = DateTime.Now;// 计算之间的时间TimeSpan TotalTime = EndTime - StartTime;// 两个时间之间的天数string days = TotalTime.Days.ToString();// 两个时间之间的小时string hours = TotalTime.Hours.ToString();// 两个时间之间的分钟string minutes = TotalTime.Minutes.ToString();Console.WriteLine("之前时间:" + StartTime + Environment.NewLine + "当前时间:" + EndTime + Environment.NewLine + "相差时间:");Console.WriteLine("天:" + days + Environment.NewLine + "小时:" + hours + Environment.NewLine + "分钟" + hours);// 总计多少天string TotalDays = TotalTime.TotalDays.ToString();// 总计多少小时string TotalHours = TotalTime.TotalHours.ToString();// 总计多少分钟string TotalMinute = TotalTime.TotalMinutes.ToString();// 总计多少秒string TotalMilliseconds = TotalTime.TotalMilliseconds.ToString();Console.WriteLine("两个时间相差 " + TotalDays + "天");Console.WriteLine("两个时间相差 " + TotalHours + "小时");Console.WriteLine("两个时间相差 " + TotalMinute + "分钟");Console.WriteLine("两个时间相差 " + TotalMilliseconds + "秒");

代码下载

高速下载

本文地址:https://www.xsyrz.cn/course/C-Computing-Time.html
版权声明:本文为原创文章,版权归 QingShanNET 所有,欢迎分享本文,转载请保留出处!


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议