将时间转换为双精度
如何在程序中获得“DateTime”函数并将其转换为双精度变量?我的目标是做了一段时间的操作类似将时间转换为双精度
(可以想象,这个变量T1是一个静态的“时间”已经写在标签) (现在想象t2是日期时间从计算机)
t1 = 03:40:11
t2 = DateTime
t3 = t2 (that would be DateTime converted) + t1
如何将此DateTime变成双倍,以便我可以执行此操作?
您不需要将其转换为双精度型。您可以直接在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
我做了像RB和它的工作,顺便说一句,我发现什么是失踪。 我忘了调用一个变量“DateTime”,该变量是“DateTime.Now”,我完成了它:var finalTime = dateTime.Add(timeSpan)。 – MattDAVM
我做喜欢RB和它的工作,顺便说一句,我发现少了什么我的程序做这种添加。 我忘了打电话给一个变量“日期时间”,这将是“DateTime.Now”我完成了它这样做的:
- 日期时间=我的变量,它从计算机
-
时间跨度获取时间 - 我的变量,有一个静态的时间数
var finalTime = dateTime.Add(timeSpan).
谢谢你们的帮助!
为什么不这样做呢?使用'DateTime.Parse'解析t1,并将所有操作作为DateTime进行,这是一个有很多特定设计方法的类DateTime.Parse – Pikoh
http://stackoverflow.com/questions/9106415/convert-date-time-with-miliseconds to-double-or-int – sbouaked
@Matt这是因为你想添加两个'DateTime'(这没有任何意义),但是你真正拥有的是'TimeSpan'('t1',你只需要解析它)和一个'DateTime'('t2'),可以添加... –