我有时间" 1.00:00:11"我想将其转换为字符串: " 24:00" 。作为代码
DateTime date1 = Convert.ToDateTime("2014/12/12 14:37:56");
DateTime date2 = Convert.ToDateTime(("2014/12/13 14:37:59");
string minutes = (date2.Subtract(date1).TotalMinutes).ToString();
string result = TimeSpan.FromMinutes(Convert.ToDouble(minutes)).ToString();
我得到了结果=" 1.00:00:11"。 如何将此结果更改为(HH:mm)。
当我转换字符串时,我遇到了问题" 24:00"到日期时间。 问题是: 日历System.Globalization.GregorianCalendar中不支持字符串表示的DateTime。
是否有某些功能?
答案 0 :(得分:0)
要获得hh:mm:ss格式的时间,你可以做类似的事情,
DateTime date1 = Convert.ToDateTime("2014/12/12 14:37:56");
DateTime date2 = Convert.ToDateTime(("2014/12/13 14:37:59"));
double totalSec = date2.Subtract(date1).TotalSeconds;
string result = string.Format("{0:00}:{1:00}:{2:00}", totalSec / 3600, (totalSec / 60) % 60, totalSec % 60);
这会产生hh:mm:ss格式的时间量,它不是hh:mm:ss是任何特定日期的一部分。 所以你不能直接将它转换为datetime类型。对于日期时间类型,最大值为hh:mm:ss仅为23:59:59。
要获得hh:mm:ss的时间跨度,你可以做到这一点,
string result = date2.Subtract(date1).ToString("hh\\:mm\\:ss");
希望这会有所帮助......