将时间转换为双精度

问题描述:

如何在程序中获得“DateTime”函数并将其转换为双精度变量?我的目标是做了一段时间的操作类似将时间转换为双精度

(可以想象,这个变量T1是一个静态的“时间”已经写在标签) (现在想象t2是日期时间从计算机)

t1 = 03:40:11 
t2 = DateTime 

t3 = t2 (that would be DateTime converted) + t1 

如何将此DateTime变成双倍,以便我可以执行此操作?

+0

为什么不这样做呢?使用'DateTime.Parse'解析t1,并将所有操作作为DateTime进行,这是一个有很多特定设计方法的类DateTime.Parse – Pikoh

+0

http://stackoverflow.com/questions/9106415/convert-date-time-with-miliseconds to-double-or-int – sbouaked

+1

@Matt这是因为你想添加两个'DateTime'(这没有任何意义),但是你真正拥有的是'TimeSpan'('t1',你只需要解析它)和一个'DateTime'('t2'),可以添加... –

您不需要将其转换为双精度型。您可以直接在DateTime对象上执行算术运算:

var date = new DateTime(1944, 6, 6, 1, 10, 0); 
var time = TimeSpan.Parse("03:40:11"); 

var newDate = date.Add(time); 

Console.WriteLine(newDate); // Prints "06/06/1944 04:50:11" 

在原始TimeSpans上可以进行多种操作。但是,您可以使用它的TotalSeconds,TotalHours等propetries,它们是double。稍后,您可以通过TimeSpan.FromMinutes(m1 + m2 * 7.5)返回到TimeSpan世界。

没有添加两个DateTime的操作符。而且由于DateTime是绝对时间值,因此添加两个绝对时间值会很有意义。

但你可以这么做:

DateTime dt = DateTime.Now; 
TimeSpan ts = TimeSpan.Parse("12:00:00"); 
DateTime dt1 = dt + ts;    // Adding a TimeSpan to a DateTime 
TimeSpan ts1 = DateTime.Now - dt; // Substracting two DateTimes 
+0

我做了像RB和它的工作,顺便说一句,我发现什么是失踪。 我忘了调用一个变量“DateTime”,该变量是“DateTime.Now”,我完成了它:var finalTime = dateTime.Add(timeSpan)。 – MattDAVM

我做喜欢RB和它的工作,顺便说一句,我发现少了什么我的程序做这种添加。 我忘了打电话给一个变量“日期时间”,这将是“DateTime.Now”我完成了它这样做的:

  • 日期时间=我的变量,它从计算机
  • 时间跨度获取时间 - 我的变量,有一个静态的时间数

    var finalTime = dateTime.Add(timeSpan). 
    

谢谢你们的帮助!