我用的最简单的办法是
代码如下 | 复制代码 |
DateTime dtone = Convert.ToDateTime("2007-1-1 05:32:22"); |
上面是给定两个时间,计算时间差,输出类似于“相差10天5小时10分28秒”的格式了,但是如果我想算出两个页面执行时差呢。
实例1
代码如下 | 复制代码 |
/// /// 程序执行时间测试 /// /// 开始时间 /// 结束时间 /// public static string ExecDateDiff(DateTime dateBegin, DateTime dateEnd) { TimeSpan ts1 = new TimeSpan(dateBegin.Ticks); TimeSpan ts2 = new TimeSpan(dateEnd.Ticks); TimeSpan ts3 = ts1.Subtract(ts2).Duration(); //你想转的格式 return ts3.TotalMilliseconds.ToString(); |
这是最基本的,得到的是毫秒数
如果你是只单纯的需要你的那种格式完全可以直接取前10位就行了
代码如下 | 复制代码 |
1.ts3.ToString("g") 0:00:07.171 |
有三种格式可以选择,我建议如果需要其实一种的时候可以使用截取的试比较快捷
比如
代码如下 | 复制代码 |
ts3.ToString("g").Substring(0,8) 0:00:07.1 |
--------------------------------------------------------------------------------
C#中使用TimeSpan计算两个时间的差值
代码如下 | 复制代码 |
可以反加两个日期之间任何一个时间单位。
|
最近发表时间的函数
代码如下 | 复制代码 |
public string DateStringFromNow(DateTime dt) { TimeSpan span = DateTime.Now - dt; if (span.TotalDays > 60) { return dt.ToShortDateString(); } else if ( span.TotalDays > 30 ) { return "1个月前"; } else if (span.TotalDays > 14) { return "2周前"; } else if (span.TotalDays > 7) { return "1周前"; } else if (span.TotalDays > 1) { return string.Format("{0}天前", (int)Math.Floor(span.TotalDays)); } else if (span.TotalHours > 1) { return string.Format("{0}小时前", (int)Math.Floor(span.TotalHours)); } else if (span.TotalMinutes > 1) { return string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes)); } else if (span.TotalSeconds >= 1) { return string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds)); } else { return "1秒前"; } } |
暗影猎手失落的世界 最新版本v30.118.6.0
下载格里姆瓦勒完全版 安卓版v1.2.0
下载忍者武士暗影格斗无限金币版 安卓版v1.82.1
下载忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载创造与魔法免登录版 手机版v1.0.0760
创造与魔法是一款高度自由的沙盒冒险手游,该游戏采用了3D最新
创造与魔法gm版 安卓版v1.0.0760
创造与魔法是一款有英雄互娱运营的一款经营沙盒建造手游,该游戏
创造与魔法变态无敌版 v1.0.0760
创造与魔法是一款3DQ版的沙盒模拟建造手游,在这里玩家需要适
腾讯普通话小镇游戏 安卓版v2.2.5
普通话小镇是由腾讯游戏追梦计划推出发行的模拟经营类型普通学习
海岛村 最新版v1.0
海岛村是一款非常好玩的模拟经营类手游,玩家在游戏中将会有一个