如何将整数转换为datetime

时间:2013-08-13 11:14:41

标签: asp.net vb.net

我正在使用ASP.NET Visual Basic。

我的数据库中有一个整数字段,我需要将其读作日期,例如20130813.但目前它说我无法转换为日期时间。

有没有办法将整数分成DD,MM,YYYY,所以我甚至可以将它们存储在变量中,然后用来创建日期。或者只是转换为日期的简单方法。

感谢您的时间。

4 个答案:

答案 0 :(得分:5)

试试这个:

Dim provider As CultureInfo = CultureInfo.CurrentCulture
Dim sData As String = "20130813" 
Dim myDate As Date = Date.ParseExact(sData, "yyyyMMdd", provider)

如果需要,您可以轻松地将您的号码转换为字符串:

Dim myNum As Integer = 20130813
sData = myNum.ToString()

有关详细信息,请参阅MSDN Documentation

答案 1 :(得分:4)

当您从一个数字开始时,您可以将其转换为字符串并使用DateTime.TryParseExact,或使用一些整数算术将其拆分:

Dim n As Integer = 20130813
Dim yr As Integer = n \ 10000
Dim mon As Integer = (n - 10000 * yr) \ 100
Dim d As Integer = n Mod 100
Dim dt As New DateTime(yr, mon, d)

答案 2 :(得分:0)

Private Sub stringtodate(ByVal dateval As String)
    Dim yy As String
    Dim mm As String
    Dim dd As String
    Dim newdate As Date
    yy = dateval.Substring(0, 4)
    mm = dateval.Substring(4, 2)
    dd = dateval.Substring(6, 2)
    newdate =Convert.ToDateTime(dd & "/" & mm & "/" & yy)
    MsgBox(newdate.ToString())
End Sub

答案 3 :(得分:0)

更快:

Dim d As Date = Date.FromOADate(41498)

(来自Robert Shutt中的experts-exchange.com