C# hh:MM格式的两个日期时间之间的差异
我有两个日期时间字段。现在我想用hh:MM格式得到两个日期之间的差异 我使用下面的代码,但它不工作C# hh:MM格式的两个日期时间之间的差异,c#,asp.net,C#,Asp.net,我有两个日期时间字段。现在我想用hh:MM格式得到两个日期之间的差异 我使用下面的代码,但它不工作 DateTime dt = DateTime.Now; DateTime dt1 = DateTime.Now.AddDays(1); TimeSpan duration = dt1 - dt; string str = duration.ToString(@"hh\:mm"); 我想离开,因为上面的代码:24:0
DateTime dt = DateTime.Now;
DateTime dt1 = DateTime.Now.AddDays(1);
TimeSpan duration = dt1 - dt;
string str = duration.ToString(@"hh\:mm");
我想离开,因为上面的代码:24:00。
但上面的代码是:1.00:00:00.2187588
那么如何将这个值转换成hh:MM格式呢?长话短说,当你减去时,小时和分钟的分量保持不变,但是,天的差值是1。因此,你用时间差来表示刻度,并据此构建你的时间。 试试这个:
DateTime dt = DateTime.Now;
DateTime dt1 = DateTime.Now.AddDays(1);
TimeSpan duration = dt1 - dt;
long durationTicks = Math.Abs(duration.Ticks / TimeSpan.TicksPerMillisecond);
long hours = durationTicks / ( 1000 * 60 * 60);
long minutes = (durationTicks - (hours * 60 * 60 *1000 )) / (1000 * 60);
System.Console.WriteLine(hours.ToString("00") + ":" + minutes.ToString("00"));
收益率:
24:00
嗨,谢谢,但我不想要负面的差异。那么,我怎样才能避免负面差异呢?@Hitesh:获取
durationTicks
的绝对值应该对你有用。