我正在尝试将格式为“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)
答案 0 :(得分:9)
您可以使用DateTime.ParseExact
。
DateTime date = DateTime.ParseExact(x, "yyyyMMddHHmmss", CultureInfo.CurrentCulture);
VB
Dim myDate as DateTime = DateTime.ParseExact(x, "yyyyMMddHHmmss", CultureInfo.CurrentCulture)
答案 1 :(得分:1)
将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)
有关自定义日期和时间字符串的详细信息,请参阅this page。