我使用以下方法获取用户机器的日期模式:
Dim sysFormat As String = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
所以例如它来自M/d/yy
,但在我的程序中,我想以M/d/yyyy
格式解析它们。但他们甚至可能有其他格式,我们不知道什么格式。 总是将成为美国英语。
那么有没有办法自动将其转换为M/d/yyyy
格式?或者我是否必须手动执行一些字符串处理代码并将字符串拆分为日,月,年的不同部分?
答案 0 :(得分:1)
您的要求似乎非常具体。您可以使用DateTime.TryParseExact
尝试解析一些有效格式,并检查有效日期中是否有任何结果。使用新的C#功能,您甚至可以摆脱额外的参数声明。例如:
DateTime.TryParseExact(dateTime,
"M/d/yy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
DateTime out dt);
答案 1 :(得分:1)
您是否尝试将String格式化为Datetime对象,然后使用特定的格式化程序进行解析?
Dim myDate As DateTime = DateTime.ParseExact(sysFormat, "M/d/yyyy",
System.Globalization.CultureInfo.InvariantCulture)
你的新字符串(格式化的字符串)是:
Dim formattedStringDate As String = myDate.ToString("M/d/yyyy")