我尝试编写减去两个日期时间字段的代码,并将结果返回给TimeSpan对象并返回Total Hours值。
DateTime x = new DateTime(2013, 7, 18, 12, 57, 40);
DateTime y = new DateTime(2013, 7, 18, 13, 2, 19);
double m = y.Subtract(x).TotalHours;
我预计m
的值是0.073166667,但实际结果是0.0775为什么?
修改
对不起,我错误地使用谷歌计算器BTW谢谢你@Liran Elisha和@ FSou1
答案 0 :(得分:8)
double res = (y - x).TotalHours;
因为c#已经知道如此减去dateTime
类型并将结果作为timeSpan
结果为0.0775,因为差异为279秒。除以60(至分钟)为4.65分钟,再分为60小时为0.0775,你得到了。
答案 1 :(得分:3)
不明白为什么你期望0.073的结果,但希望它有所帮助:
<强>代码:强>
class Program
{
static void Main(string[] args)
{
DateTime x = new DateTime(2013, 7, 18, 12, 57, 40);
DateTime y = new DateTime(2013, 7, 18, 13, 2, 19);
double seconds = y.Subtract(x).TotalSeconds;
double minuits = y.Subtract(x).TotalMinutes;
double hours = y.Subtract(x).TotalHours;
Console.WriteLine("seconds: " + seconds + ", minuits: " + ((float)seconds / 60) + ", hours: " + ((float)seconds / 3600));
Console.WriteLine("seconds: " + seconds + ", minuits: " + minuits + ", hours: " + hours);
}
}