【问题标题】:How do I convert a date in an html table cell to iso 8601 format?如何将 html 表格单元格中的日期转换为 iso 8601 格式?
【发布时间】:2019-05-13 19:14:43
【问题描述】:

我有这个 td:

<td>Jul 18 2019 12:00AM</td>

我需要使用 JavaScript 将其转换为 ISO 8601 格式。 Vanilla 或使用 jQuery 会很好,只是当我尝试解析它时我不断得到一个“未定义”,但我认为它有问题,因为 html 标签。任何帮助将不胜感激,谢谢。

 $(function () {
  $("#_ctl0_phMainContent_dgrdClasses3 tbody tr td:nth-child(7)").each(function (index, dateElem) {
    var $dateElem = $(dateElem);
    var formatted = moment($dateElem.text(), 'MMM DD YYYY h:mm:a').format('MMM DD YYYY h:mm:a').toISOString(); 
    $dateElem.text(formatted);   })
 })

【问题讨论】:

  • 您的表格中的所有日期都是这种格式吗?您需要进行一些字符串操作才能将其解析为日期对象
  • ```var classydate = document.querySelector("#_ctl0_phMainContent_dgrdClasses3 > tbody > tr:nth-child(3) > td:nth-child(7)").innerText; moment(classydate,'MMM DD YYYY h:mm:a').toISOString();

标签: javascript html iso8601


【解决方案1】:

需要添加moment解析成自定义日期字符串格式,然后再转成iso格式 有关isoString的更多详细信息

moment('Jul 18 2019 12:00AM','MMM DD YYYY h:mm:a').toISOString() 

【讨论】:

  • ``` var classydate = document.querySelector("#_ctl0_phMainContent_dgrdClasses3 > tbody > tr:nth-child(3) > td:nth-child(7)").innerText; ``` 产生我需要的格式。如何遍历看起来像这样的 html 表:``` 2019 年 3 月 30 日上午 12:00 2019 年 3 月 30 日上午 12:00 ``` ?
猜你喜欢
  • 2015-02-07
  • 1970-01-01
  • 2021-07-29
  • 2017-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多