【问题标题】:DateTime in .NET 4.5 Issue.NET 4.5 问题中的日期时间
【发布时间】:2012-10-29 14:12:08
【问题描述】:

我正在尝试在 .NET 4.5 中解析 DateTime。这是代码。

var rawDatetime = "10-11-2012, 11:19 AM";
var format = "MM-dd-yyyy, hh:mm tt";
var ok = DateTime.TryParseExact(rawDateTime, format, new CultureInfo("en-US"), DateTimeStyles.None, out dateTime);

这给出了ok==falsedateTime=010101。我究竟做错了什么?框架有bug吗?

修复了“DateTime.TryParseExact(rawDateTime, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);”

【问题讨论】:

  • 您的代码应该可以工作(rawDateTime 变量名中也有一个类型)

标签: .net date datetime


【解决方案1】:

您确定这不是 rawDatetimerawDateTime 的拼写错误(它们是不同的变量,可能有不同的值)?

对我来说很好用:

var rawDateTime = "10-11-2012, 11:19 AM";
var format = "MM-dd-yyyy, hh:mm tt";
DateTime dateTime;
var ok = DateTime.TryParseExact(rawDateTime, format, new CultureInfo("en-US"),
    DateTimeStyles.None, out dateTime);
if (ok)
{   // following prints correctly
    Console.WriteLine(dateTime);
}

【讨论】:

  • 感谢您的回答。我已经解决了我的问题,即使我仍然不知道为什么它不起作用。我刚刚将 en-US 删除为 CultureInfo DateTime.TryParseExact(rawDateTime, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
相关资源
最近更新 更多