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

原创 萧瑟  2017-08-25 16:42:11  阅读 437 次 评论 1 条
timg.jpg

前言

昨天接到经理的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/C-Computing-Time.html
版权声明:本文为原创文章,版权归 萧瑟 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. 代写paper
    代写paper  @回复

    感谢楼主的分享