使用格式将字符串转换为日期(VB.net)

时间:2016-04-05 18:19:35

标签: vb.net string date

我有一个字符串,其格式为日期。 “2015年11月24日”或“dd-MM-yyyy”。我需要将此转换为具有此格式的日期。 “2015-11-24”或“yyyy-MM-dd”。 我已经尝试了几种方法,所有这些方法都依赖于我的系统格式来实现。如果我在具有英语时间格式的计算机上运行我的程序,这将有效。

Date.ParseExact("24-11-2015", "dd-MM-yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)

但如果我在运行丹麦语格式的计算机上运行它,我会收到错误,因为没有第24个月。如何使日期格式与我的系统时间格式无关。

1 个答案:

答案 0 :(得分:2)

解决方案:

Dim dateTime As String = "24-11-2015"
Dim dt As DateTime = Convert.ToDateTime(dateTime)
Console.WriteLine("{0}-{1}-{2}", dt.Year, dt.Month.ToString("D2"), dt.Day.ToString("D2"))

解决方案2:

Dim dateTime As String = "24-11-2015"
Dim dt As DateTime = Convert.ToDateTime(dateTime)
Dim format As String = "yyyy-MM-dd"
Dim str As String = dt.ToString(format)
Console.WriteLine(str)

您也可以尝试Formatting Date and Time for a Specific Culture