如何将此字符串转换为日期21/08/2008 00:21:00?

问题描述:

我正在使用vb.net 2005.如何将此字符串转换为日期21/08/2008 00:21:00?

如何将此日期/时间21/08/2008 00:21:00转换为DateTime对象?

我用vb.net不是C#,我的解决方案有点老了,但它的工作原理

Dim d1 As Date 
    d1 = CDate("21/08/2008 00:21:00") 
    Console.WriteLine(d1) 

您可以使用custom date time format string结合DateTime.ParseExactDateTime.TryParseExact

Dim dateTime as DateTime = _ 
    DateTime.ParseExact("21/08/2008 00:21:00", "dd/MM/yyyy HH:mm:ss", _ 
    CultureInfo.InvariantCulture) 
+1

'var'在VB - 我看未必! ;-) – PhilPursglove 2010-09-28 08:52:33

+0

@PhilPursglove - 很对。 Anwser更新了... – Oded 2010-09-28 08:54:34

Dim d as DateTime = DateTime.Parse("21/08/2008 00:21:00") 
Console.WriteLine(d) 

产生这样的:

21/08/2008 12:21:00 a.m. 
+0

例如,如果运行此计算机的文件是'fr-FR',则可能会失败。 – Oded 2010-09-28 08:55:26

+0

是真的。但在这个问题中没有提到文化要求。 – 2010-09-28 09:03:49

如果你想一定要正确地分析格式,你应该使用DateTime.ParseExactcustom format string匹配你的模式(例如dd\/MM\/yyyy HH:mm:ss)。