【问题标题】:HtmlAgilityPack - wrong automatic conversion of text to dateHtmlAgilityPack - 错误的文本自动转换为日期
【发布时间】:2015-09-08 09:07:50
【问题描述】:

我正在解析这个webpage。为了获得有效日期,我解析了以下元素

<input name="ctl00$ctl00$main$BCPP$jsdate" type="text" value="7. 9. 2015" id="ctl00_ctl00_main_BCPP_jsdate" class="text hasDatepicker">

首先,input 元素的值是“文本”,因此“7. 9. 2015”不应转换为日期。其次,根据捷克标准,7.9.2015 是 2015 年 9 月 7 日。当我使用 HtmlAgilityPack 读取此元素时,我得到以下表示

不幸的是 2015 年 7 月 9 日。问题如下:

  1. 如何禁止input做日期的文本值转换?
  2. 如果必须转换日期,如何将其转换为“正确”日期?

非常感谢任何帮助。 丹尼尔

【问题讨论】:

  • 如果原始文本正确转换为日期并以美国格式显示,则“日期值”可能仍表示“2015 年 9 月 7 日”。

标签: c# html-agility-pack


【解决方案1】:

按照以下方式将您的文本转换为日期

DateTime myDate = DateTime.ParseExact("9/7/2015","M.d.yyyy",System.Globalization.CultureInfo.InvariantCulture)

【讨论】:

  • @PranavPatel:“字符串未被识别为有效的日期时间” - 这是所需的行为吗?或者您是否指向使用“MM/dd/yyyy”和/或“dd.MM.yyyy”来尝试解析日期?
  • @PranavPatel:好的,谢谢,改成“M.d.yyyy”有帮助。
  • 抱歉日期格式错误,但很高兴知道它正在工作
猜你喜欢
  • 2018-04-30
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 2015-06-30
  • 1970-01-01
相关资源
最近更新 更多