【问题标题】:How to convert double to time in vb.net如何在 vb.net 中将双精度转换为时间
【发布时间】:2014-02-09 21:34:04
【问题描述】:

我有一个变量来存储用户输入的时间。我收到一个错误,说它无法将它从双精度转换为日期。我该怎么做?

基本上我需要从用户那里获取时间并将其转换为分钟。不过我不知道该怎么做。

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtTimeIn.TextChanged, txtTimeIn.TextChanged

    Dim m_decTimeIn As DateTime


    m_decTimeIn = Val(txtTimeIn)

End Sub

【问题讨论】:

  • 不要使用 Val。曾经。 NET 中有大量装备更好的版本(CONvert.ToDate、DateTime.Parse、TryParse...)
  • 这就是我被教导的方式。我不知道还有什么办法
  • 现在你知道了——我只给了你 3 个。Val 从长远来看会给你带来很多问题——它与 QuickBasic 中的 Val 相同或 VisualBasic 3-6。

标签: vb.net datetime double type-conversion


【解决方案1】:
Dim myDateTime As DateTime = DateTime.FromOADate(myDouble)

【讨论】:

    【解决方案2】:

    Val 函数在此特定重载中将String 值转换为Double。此类型不能转换为DateTime,因此编译器会发出错误。

    要将String 转换为日期,请改用Datetime.Parse

    m_decTimeIn = DateTime.Parse(txtTimeIn.Text)
    

    【讨论】:

    • 如果我把它改成那个,它会给我一个错误提示“systems.windows.forms.TextBox 类型的值不能转换为字符串类型”。
    • 啊,我明白了,其实我自己也应该看到的。干杯!
    • 其实,日期时间是如何准确存储的。我需要将其转换为分钟,以用于我的下一部分程序。它是否存储以便用户以 HH:MM:SS 的形式输入,如果是,我如何将其转换为分钟?
    • @user3275​​784 在DateTime 对象上使用Minutes 属性
    • 这样的m_decTimeIn = m_decTimeIn.Minute?如果我这样做,我只是一个错误
    猜你喜欢
    • 2012-06-23
    • 2013-03-16
    • 1970-01-01
    • 2021-12-12
    • 2011-05-11
    • 2012-03-14
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多