2010-12-09 132 views
0

我遵循vb.net convert string to date的建議。但是,它沒有奏效。如何在.NET中翻譯字符串

的代碼如下:

Dim Dt As DateTime 
    If DateTime.TryParse("Thu, 09 Dec 2010 16:03:24 EST", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None, Dt) Then 
     MessageBox.Show(Dt) 
    End If 

任何人都可以解決這個我嗎?我需要以「yyyy-mm-dd hh24-mi-ss」格式填寫日期。

回答

0

注意:這個答案是爲對下面的代碼問題的先前版本中寫到:

Dim Dt As DateTime 
If DateTime.TryParseExact("Thu, 09 Dec 2010 16:03:24 EST", "dd.MM.yyyy", Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None, Dt) Then 
    MessageBox.Show(Dt) 
End If 

格式字符串TryParseExact需要,因爲它的第二個參數指定的格式日期在第一個字符串中傳遞。

在您的情況下,格式字符串指定日期格式爲「09.12.2010」,例如 - 日,年和月。但是,由於字符串不是這種格式它不會解析。如果你剛剛使用ParseExact它會引發異常。

MSDN pageTryParseExact這需要可能格式字符串數組的變體具有更多的例子,但不符合您的格式完全相同,但用來轉換DateTimestring你可能想是這樣的格式字符串:

"ddd, dd MMM yyyy HH:mm:ss ???" 

但我無法找到你需要的而不是「???」匹配「時區作爲字符串」。在調用TryParseTryParseExact之前,您可能必須執行一些字符串操作才能將其刪除。

+0

對不起。我的錯。我應該清楚。首先,我發佈的代碼根本不解析。 – user203687 2010-12-09 23:56:22

+0

@ user203687 - 它不會因爲日期時間字符串與格式字符串不匹配。我顯然沒有說清楚。 – ChrisF 2010-12-09 23:58:52

+0

哦。好。但克里斯,我無法分析至少以下:昏暗申爲DATETIME 如果DateTime.TryParse(「星期四,2010美國東部時間16時03分24秒09十二月」,Globalization.CultureInfo.InvariantCulture,Globalization.DateTimeStyles.None,申)然後 MessageBox.Show(Dt) End If – user203687 2010-12-10 00:09:17

0

這應該讓你在正確的道路上:

Dim dt As DateTime 
    dt = Now 
    TextBox1.Text = Format(dt, "yyyy-MM-dd HH:mm:ss") 
0
TextBox1.Text = System.DateTime.Now.AddMinutes(698).ToString("dd/MM/yyyy"); 

    DateTime DOB; 
    string[] formatsDOB = { "dd/MM/yyyy", "MM/dd/yyyy" }; 
    DateTime.TryParseExact(txtDateofBirth.Text, formatsDOB, CultureInfo.CurrentCulture, DateTimeStyles.None, out DOB);