【问题标题】:Convert to DateTime Format转换为日期时间格式
【发布时间】:2013-04-24 02:32:28
【问题描述】:

您好,有没有办法将此字符串“Saturday 04/23/2013 11:05 PM”转换为有效的日期时间格式?

因为每次执行此条件时它都会给我 FormatExceptionError:

字符串未被识别为有效的 DateTime,因为星期几不正确。

if(DateTime.Parse("Saturday 04/23/2013 11:05 PM") < DateTime.Today)
{
//code here
}

这个问题有解决办法吗?

【问题讨论】:

  • 很难将无效值转换为有效值。您可以进行字符串操作...您可以简单地拒绝无效值吗?
  • @AlexeiLevenkov:当我们也给出格式时,为什么解析精确不起作用。
  • 为什么有人给每个人-1?你愿意解释一下吗?
  • @Harrison 帖子明确指出该日期的星期几无效 - 看起来 OP 想要将无效日期转换为一些(随机选择的?)有效日期。不幸的是,还没有来自 OP 的 cmets 达到确切的目标......
  • @Harrison 这简单而明显地意味着 04/23/2013 是星期二而不是星期六,因此 OP 发布的字符串无效,因此无法将其转换为已发布。

标签: c# datetime formatting datetime-format typeconverter


【解决方案1】:

使用DateTime.ParseExact()

string _strdate = "Tuesday 04/23/2013 11:05 PM"; // should be tuesday
DateTime _date = DateTime.ParseExact(_strdate,"dddd MM/dd/yyyy hh:mm tt", 
                                     CultureInfo.InvariantCulture)

【讨论】:

  • Removed -1... 现在它有点作弊- parse 会很好地处理有效日期... OP 出于某种原因要求输入无效日期:)
  • 是的。应该是星期二。抱歉,我忘了更改 dddd。 xD
  • 是的,这就是为什么我还添加了自定义日期格式的链接:)
【解决方案2】:

如果您预计数据无效,您应该使用TryParseTryParseExact

DateTime myDate;
if(DateTime.TryParse("Saturday 04/23/2013 11:05 PM", out myDate))
{
   if (myDate < DateTime.Today) { //code here }
}
else
{
   //Do something here for invalid data
}

【讨论】:

    【解决方案3】:

    字符串未被识别为有效的 DateTime,因为星期几不正确

    2013 年 4 月 23 日是星期二,而不是星期六。

    当您的日期时间语句是矛盾时,可能会发生异常。

    希望对您有所帮助...

    【讨论】:

      【解决方案4】:

      日期和星期几不匹配。 2013 年 4 月 23 日是星期二而不是星期六。在世界任何日历中,您都不会将这一天定为星期六。这就是为什么它给出错误 String was not recognized as a valid DateTime because the day of week was incorrect.

      所以它可能会转换您的日期然后验证。因此验证失败。

      但是当提供星期二时,这将起作用。

      string str = "Tuesday 04/23/2013 11:05 PM";
      
      DateTime dt = DateTime.ParseExact(str, "dddd MM/dd/yyyy hh:mm tt", CultureInfo.InvariantCulture);
      

      【讨论】:

      • 哈哈哈。是的对不起!这有助于我追踪问题。 :)
      猜你喜欢
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      相关资源
      最近更新 更多