【问题标题】:DateTime parse - unexpected resultDateTime 解析 - 意外结果
【发布时间】:2021-03-02 09:29:51
【问题描述】:

我有以下代码:

string date = "1.10.2020";
DateTime dt;
if (DateTime.TryParse(date, new CultureInfo("hu-HU"), DateTimeStyles.None, out dt))
{

}

因为匈牙利短日期格式是“yyyy.MM.dd”,我希望 TryParse() 结果为假。但结果为真,DateTime 为“10. January 2020”。

我可以防止解析使用“回退”并返回 true 吗?

【问题讨论】:

  • TryParseExact 在这里可能很有用,你指定格式并且它必须完全匹配,否则它将失败
  • "匈牙利短日期格式是yyyy.MM.dd" +1 为您的国家/地区使用高级日期格式作为其文化默认值(我将允许不寻常的.分隔符)

标签: c# .net datetime


【解决方案1】:

使用DateTime.TryParseExact() 方法-

string date = "1.10.2020";
DateTime dt;
if (DateTime.TryParseExact(date, "yyyy.MM.dd", new CultureInfo("hu-HU"), DateTimeStyles.None, out dt))
{
    //
}

【讨论】:

  • 谢谢大家。我错过了 TryParseExact。
猜你喜欢
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-20
  • 2015-05-14
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多