将mm/dd/yyyy转换为yyyymmdd(VB.NET)

l3_*_*_08 7 vb.net vb.net-2010

有什么办法可以将格式日期转换为:dd/mm/yyyy到yyyymmdd格式吗?例如:25/07/2011至20110725?在VB.NET中?

Jon*_*eet 11

日期本身不具有格式固有的.您可以DateTime通过使用dd/MM/yyyy格式解析字符串将字符串解析为a ,然后使用以下yyyyMMdd格式将其转换为字符串:

DateTime date = DateTime.ParseExact(text, "dd/MM/yyyy",
                                    CultureInfo.InvariantCulture);

string reformatted = date.ToString("yyyyMMdd", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

或者在VB中:

Dim date as DateTime = DateTime.ParseExact(text, "dd/MM/yyyy", CultureInfo.InvariantCulture)
Dim reformatted as String = date.ToString("yyyyMMdd", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

(并确保您有导入System.Globalization.)

但是,理想情况下,您应DateTime尽可能长时间保持(或类似).


小智 5

 CDate(Datetext).ToString("yyyyMMdd")
Run Code Online (Sandbox Code Playgroud)

  • 根据文化的不同,这个答案可能会失败。这就是为什么乔恩的答案比这个更好。例如,如果没有 ParseExact,如何确定 10/12/2017 是 12 月 10 日还是 10 月 12 日? (2认同)