2010-12-09 80 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);