2016-12-20 132 views
-1

我有一個簡單的問題。Node.js從DOM中刪除日期時間

我有這樣的HTML代碼

<time datetime="2014-02-18"> 18 February 2014</time> 

我怎樣才能湊格式「2014年2月18日」的日期時間?

我tryed

var date = $('time').value; 

var date = $('time').dateTime; 

但兩者在控制檯上返回undefined。

謝謝!

+0

'var date = $('time')。text();' –

+0

@RajaprabhuAravindasamy:那會是2014年2月18日的'',而不是OP要求的。 –

+0

如果下面的答案*回答了您的問題,Stack Overflow的工作方式,您可以通過單擊旁邊的複選標記來「接受」答案; [詳細信息](/ help/someone-answers),將其從未回答的問題列表中刪除。 –

回答

1

(我假設你在節點使用jQuery或cheerio或類似)。

您可以通過attr得到字符串:

然後將其轉換爲日期在自己喜歡的方式,一定要考慮到正確的時區。舉例來說,你可以做

var date = new Date(dateString); 

...後首先檢查什麼V8在你的節點版本的版本確實有,由於不幸的是,規範亂作一團它:

  • :這不是什麼T取代所有之前的定義ES5
  • 在ES5有人誤定義爲UTC如果沒有時區指示器,而不是本地時間按照ISO-8601,所以"2014-02-18"本來是UTC,但是:
  • 已修復在ES2015中,所以"2014-02-18"將被解釋爲本地時間,但:
  • 然後更新ES2016說日期僅形式應該是UTC和日期時間形式應該是本地時間,這樣"2014-02-18"將UTC再次

所以,只要確定你知道你使用的是V8的副本,或者使用new Date(year, month, day)(當地時間)或new Date(Date.UTC(year, month day))(UTC)自己處理它。

+0

這工作!謝謝!! – Pierpaolo

0

時間不是一個值字段,所以.value不起作用。

在javascript中就可以使用,

document.getElementsByTagName("time")[0].getAttribute("datetime"); 

如果你正在使用JQuery,你可以使用,

$('time').attr('datetime') 

日期時間基本上是時域的屬性。

+0

是的,只是嘗試.attr('datetime')和工作! 謝謝! – Pierpaolo