分享一个把秒转换为时分秒格式的小方法:01:37:18就是这种格式。
我们可以封装一个私密方法,也可以直接写在主方法体里面:
/// <summary>
/// 秒数转化为时分秒格式
/// </summary>
/// <param name="duration">秒数</param>
/// <returns></returns>
private static string sec_to_hms(long duration)
{
TimeSpan ts = new TimeSpan(0, 0, Convert.ToInt32(duration));
string str = "";
if (ts.Hours > 0)
{
str = String.Format("{0:00}", ts.Hours) + ":" + String.Format("{0:00}", ts.Minutes) + ":" + String.Format("{0:00}", ts.Seconds);
}
if (ts.Hours == 0 && ts.Minutes > 0)
{
str = "00:" + String.Format("{0:00}", ts.Minutes) + ":" + String.Format("{0:00}", ts.Seconds);
}
if (ts.Hours == 0 && ts.Minutes == 0)
{
str = "00:00" + String.Format("{0:00}", ts.Seconds);
}
return str;
}
我们这个方法主要用的事TimeSpan。这个用处很广,可以用作时间截取之类的操作。可以用来计算时间差。
/// <summary>
/// 计算时间差
/// </summary>
/// <param name="time">时间:如:2024-01-01</param>
/// <returns></returns>
private static string timecha(string time)
{
DateTime Time2 = DateTime.Now;
DateTime Time3 = Convert.ToDateTime(time);
TimeSpan c = Time2 - Time3;
int d = c.Days;//天
int h = c.Hours;//时
int m = c.Minutes;//分
int s = c.Seconds;//秒
string t = "相差" + d + "天" + h + "时" + m + "分" + s + "秒";
return t;
}
非常方便,在一些时间计算方便可以用得到!!!