2

我尝试编写减去两个日期时间字段并将结果返回给 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;

我预计值为m0.073166667 但实际结果为 0.0775 为什么?

编辑

对不起,我以错误的方式使用谷歌计算器顺便说一句谢谢@Liran Elisha 和@FSou1

4

2 回答 2

8

你只是做

double res = (y - x).TotalHours;

因为 c# 已经知道所以减去dateTime类型并将结果作为timeSpan

结果是 0.0775,因为差异是 279 秒。除以 60(到分钟)是 4.65 分钟,再除以 60 小时是 0.0775。

于 2013-07-21T07:00:31.933 回答
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);
    }
}
于 2013-07-21T07:12:10.960 回答