如何将double值转换为datetime?

时间:2013-12-13 06:06:53

标签: vb.net datetime

我有一个类将当前时间转换为web.config中指定的特定时间,例如将2.30或2.45添加到当前时间。

这是我的班级:

Public Shared Function GetGoTime() As DateTime
    Dim hrs = Double.Parse(ConfigurationManager.AppSettings("Gotime"))  
    Dim GoTime As DateTime = DateTime.Now.AddHours(hrs)
    Return GoTime
End Function

这在我们添加整数时工作正常,但是当我们添加2.45或7.37小时之类的东西时,它就不起作用了。我该怎么办?

2 个答案:

答案 0 :(得分:3)

您应该通过将给定时间除以.来分别解析小时和分钟,然后使用AddMinutes函数计算以小时为单位的值,将其乘以60,类似于

Dim hrs = ...your code only to extract the hours;
Dim minutes = ...your code only to extract only the minutes;
Dim GoTime As DateTime = DateTime.Now.AddMinutes(hrs*60 + minutes);

答案 1 :(得分:1)

如何使用TimeSpan.FromHoursDateTime.Add

Public Shared Function GetGoTime() As DateTime
    Dim hrs = Double.Parse(ConfigurationManager.AppSettings("Gotime"))  
    Dim GoTime As DateTime = DateTime.Now.Add(TimeSpan.FromHours(hrs))
    Return GoTime
End Function