解析日期时间

Pra*_*mod 0 vb.net datetime datetime-format

以下是我从API获取的日期时间格式.

2014年4月14日星期一03:31:15 +0000

如何将其转换为dd-MMM-yyyy HH:mm:ss格式.

我试过以下代码:

Dim strDate as String = "Mon Apr 14 03:31:15 +0000 2014"
Dim dateT as DateTime = DateTime.Parse(strDate)
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

DateTime.Parse(strDate){"字符串未被识别为有效的DateTime."}

任何解决方案和建议表示赞赏.

Hab*_*bib 6

您可以使用DateTime.ParseExact,如:

string str = "Mon Apr 14 03:31:15 +0000 2014";
DateTime dt = DateTime.ParseExact(str, 
                           "ddd MMM dd HH:mm:ss zzz yyyy", 
                           CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅:自定义日期和时间格式字符串

要将解析日期转换为您所需的格式,请执行以下操作:

string formattedOutput = dt.ToString("dd-MMM-yyyy HH:mm:ss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

VB等价物将是:

Dim dt As DateTime = DateTime.ParseExact(str,
                           "ddd MMM dd HH:mm:ss zzz yyyy",
                          System.Globalization.CultureInfo.InvariantCulture)
Dim formattedOutput As String = dt.ToString("dd-MMM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

  • +0000是一个时间偏移量,可以解析为"zzz"所以它应该是""ddd MMM dd HH:mm:ss zzz yyyy"` (2认同)