我遵循vb.net convert string to date的建议。但是,它没有用。
代码如下:
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 :(得分: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
,则会引发异常。
TryParseExact
变体MSDN page采用可能的格式字符串数组有更多示例,但不完全匹配您的格式,但使用用于转换{{1}的格式字符串} DateTime
你可能想要这样的东西:
string
但我找不到你需要的东西而不是“???”将“时区作为字符串”匹配。在调用"ddd, dd MMM yyyy HH:mm:ss ???"
或TryParse
之前,您可能必须执行一些字符串操作才能将其删除。
答案 1 :(得分:0)
这应该让你走上正确的道路:
Dim dt As DateTime
dt = Now
TextBox1.Text = Format(dt, "yyyy-MM-dd HH:mm:ss")
答案 2 :(得分:0)
您必须使用时区偏移替换时区。 与Parse DateTime with time zone of form PST/CEST/UTC/etc
相同的问题答案 3 :(得分: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);