前言:
想知道过去的某个时间到现在过了多久,经历多少天,甚至精确到分。查阅了一下资料后,自己写了一个方法实现,基本达到要求,效果杠杠哒。ヾ(๑╹◡╹)ノ"
时间的输入格式:日期(年月日)必须以逗号(,)、空格( )、 破折号(-)分隔开,时间(时分秒)以冒号分隔;如:string ss = "2017,7,15,20:16:35"; // "2017,7,15 20:16:35" 、"2017,7,15-20:16:35" 这几种形式都可以。
1.如果是计算某个时间点到现在的时间差,则输入一个日期时间,用当前时间减去这个时间,得出的结果就是时间差。
2.如果是计算某个时间点到某个时间点的时间差,则输入两个时间,有较后的时间减去前一个时间,得出的记过就是这两个日期的时间差了。
代码案例(C#):
// 计算 两个日期之间的 时间差
private void GetDaysDiffer(string ss)
{
//string ss = "2017,7,15,20:16:35"; // 参数格式 --- 第一个日期时间
DateTime dt;
// 1. 字符串转换 输出时间格式
DateTime.TryParse(ss, out dt);
Debug.Log(string.Format("\n输入日期:{0:u}", dt));
// 2. 字符串 转换时间格式 另一种写法
//dt = Convert.ToDateTime("2017-7-15 20:36:12");
//Debug.Log("\n 输入日期111 : " + dt.ToString());
// 第二个日期时间
DateTime dtt = DateTime.Parse("2017-7-20 20:36:12");
Debug.Log("\n 输入 dtt 日期为:" + dtt.ToString());
DateTime currtlyTime = DateTime.Now; // 获取当前时间
// TimeSpan ts = dtt.Subtract(dt); // 与第二次输入的时间之差
TimeSpan ts = currtlyTime.Subtract(dt); // 与当前日期的时间之差
Debug.Log("\n 输入日期 的星期为星期 " + dt.DayOfWeek);
Debug.LogFormat("\n 相差 时间 {0} 天", ts.Days);
Debug.Log("\n 相差 " + ts.Days + "天," + ts.Hours + " 小时," + ts.Minutes + "分钟," + ts.Seconds + "秒,");
Debug.LogFormat("\n 相差{0}个星期", (ts.Days / 7));
//Debug.Log("\n ts Milliseconds: " + ts.Milliseconds);
}
感兴趣的可以试一下,可以试试输入不同时间和现在的时间差,如:毕业到现在过去多久,过了几年几天;或者两个人相识多久了,一起度过了多少时光,多少分多少秒,给TA 一个惊喜 (*/ω\*)
本文介绍如何在C#中计算两个日期之间的时差。通过自定义方法,可以精确地得到两个日期相差的天数或分钟数,适用于需要时间间隔计算的场景。
3万+

被折叠的 条评论
为什么被折叠?



