【问题标题】:Cannot convert date to the right format无法将日期转换为正确的格式
【发布时间】:2019-08-19 10:51:50
【问题描述】:

我想将“查询”转换为“09/08/2019”。下面的代码抛出“字符串未被识别为有效的日期时间”(IsDate(query) 虽然返回 true):

query = "09 August 2019 00:00:00"

Dim Ddate As DateTime = DateTime.ParseExact(query, "dd/M/yyyy", 
CultureInfo.InvariantCulture)

如何获取所需格式的日期?谢谢

【问题讨论】:

  • ParseExact() 与提供的格式完全相同。您提供的日期时间格式与输入不匹配。您可以改用 TryParse。比如:Dim dt as Date if Date.TryParse("09 August 2019 00:00:00", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, dt) then Console.WriteLine(dt.ToString("dd/M/yyyy")) end if。通过设置DateTimeStyles 参数,指定日期是否应解释为本地或通用。使用 DateTime 对象来存储日期。仅在演示需要时转换为字符串。

标签: asp.net vb.net date datetime parsing


【解决方案1】:

请尝试以下代码 sn-p。

C#

IFormatProvider CultureToUse = new System.Globalization.CultureInfo("en-US", true);
DateTime d4, d5;
Boolean b1 = DateTime.TryParse(selected_date, out d4);
Boolean b2 = DateTime.TryParse(selected_date, CultureToUse, System.Globalization.DateTimeStyles.None, out d5);
// you can use any one of the above
// please check value in d4 and d5

VB

  Dim CultureToUse As IFormatProvider = New System.Globalization.CultureInfo("en-US", True)
  Dim d4, d5 As DateTime
    Dim b1 As Boolean = DateTime.TryParse(selected_date, d4)
    Dim b2 As Boolean = DateTime.TryParse(selected_date, CultureToUse, System.Globalization.DateTimeStyles.None, d5)
// you can use any one of the above
// please check value in d4 and d5

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    相关资源
    最近更新 更多