Moment.js,转换epochtime时无效的日期时间

时间:2018-08-20 07:23:43

标签: javascript momentjs epoch

我有以下代码将epochtime转换为dateTime。

.insert()

当我检查epochtimeconvetrer处的时间戳时,我会获得正确的时间

tail

但是当我尝试通过分析矩来获得相同的值时,得到无效的日期,

import lxml.html
from lxml.html import builder as E

text = '''
<html>
 <body>
   <span>Please BOLD me</span>
 </body>
</html>
'''

doc = lxml.html.fromstring(text)
for span in doc.xpath('//span'):
    # search for the word "BOLD" in the span text:
    pre, sep, pos = span.text.partition('BOLD')
    if sep:
        span.text = pre
        bold = E.B(sep) # create element
        bold.tail = pos
        span.insert(0, bold)


print(lxml.html.tostring(doc, pretty_print=True))

http://jsfiddle.net/yLc4wops/1/

2 个答案:

答案 0 :(得分:1)

Unix time距纪元。您要传递的时间是距纪元毫秒。将值除以1000,然后将其传递给方法:

moment.unix(1525168800).format("MM/DD/YYYY")
// "05/01/2018"

或者,您可以将值直接传递给moment()构造函数,该构造函数从纪元接受毫秒

moment(1525168800000).format("MM/DD/YYYY")
// "05/01/2018"

当您将值粘贴到epochconverter并尝试进行转换时,该站点将清楚地显示一条消息,提示“假定此时间戳以毫秒为单位”。请参见下面的快照:

enter image description here

这就是为什么,它可以正确显示结果。

答案 1 :(得分:1)

您还可以简单地从Unix纪元实例化毫秒数,就像日期一样。

var newDate = moment(1525168800000).format("MM/DD/YYYY");
alert(newDate);