1

我正在使用 ASP.NET Visual Basic。

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

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

谢谢你的时间。

4

4 回答 4

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 文档

于 2013-08-13T11:18:45.967 回答
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)
于 2013-08-13T11:39:48.100 回答
1

更快:

Dim d As Date = Date.FromOADate(41498)

(来自experts-exchange.com罗伯特·舒特

于 2017-11-17T13:01:19.997 回答
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
于 2013-08-13T14:04:08.083 回答