可能重复:
在c#中将字符串转换为DateTime
我正在尝试将格式为"20110617111051"的字符串转换为日期时间。目前我使用String.SubString()函数提取年、月、日、时间来格式化标准字符串,然后使用Convert.ToDateTime(String)。有其他简单的方法吗?
Dim x as String="20110617110715"
Dim standard as string = x.SubString(0,4) & "-" & x.SubString(4,2) & "-" & x.SubString(6,2) 'and time
Dim dateTime as DateTime = Convert.ToDateTime(standard)
您可以使用DateTime.ParseExact
。
DateTime date = DateTime.ParseExact(x, "yyyyMMddHHmmss", CultureInfo.CurrentCulture);
VB
Dim myDate as DateTime = DateTime.ParseExact(x, "yyyyMMddHHmmss", CultureInfo.CurrentCulture)
将DateTime.ParseExact
函数与输入字符串的确切格式结合使用。示例:
C#:
string input = "20110617111051";
string format = "yyyyMMddhhmmss";
DateTime dateTime = DateTime.ParseExact(input, format, CultureInfo.InvariantCulture);
VB:
Dim input As String = "20110617111051"
Dim format As String = "yyyyMMddhhmmss"
Dim dateTime as DateTime = DateTime.ParseExact(input, format, CultureInfo.CurrentCulture)
有关自定义日期和时间字符串的详细信息,请参阅此页。