[英]Node.js Scrape datetime from a DOM
我有一个简单的问题。
我有这个HTML代码
<time datetime="2014-02-18"> 18 February 2014</time>
我如何以“ 2014-02-18”格式抓取日期时间?
我试过了
var date = $('time').value;
要么
var date = $('time').dateTime;
但是两者都在控制台上返回undefined。
谢谢!
(我假设您在Node或cheerio或类似版本中使用jQuery。)
您可以通过attr
获取字符串:
var dateString = $('time').attr('datetime');
然后以您喜欢的方式将其转换为日期,并确保允许正确的时区。 例如,您可以
var date = new Date(dateString);
...首先检查了您的Node版本中的V8版本后会执行此操作,因为不幸的是,该规范困扰于它:
"2014-02-18"
将是UTC,但是: "2014-02-18"
将被解释为当地时间,但是: "2014-02-18"
将再次为UTC 因此,只要确定您知道使用V8的副本,或者使用new Date(year, month, day)
(用于本地时间)或new Date(Date.UTC(year, month day))
(对于UTC)自行处理。
时间不是值字段,因此.value将不起作用。
在javascript中,您可以使用,
document.getElementsByTagName("time")[0].getAttribute("datetime");
如果您使用的是JQuery,则可以使用,
$('time').attr('datetime')
datetime基本上是时间字段的属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.