如何使用MomentJS将日期转换为时间戳?

时间:2016-10-20 06:20:30

标签: javascript momentjs

我使用MomentJS使用以下方式将本地日期转换为UTC日期:

$("#div1").text(moment("2016-10-11 18:06:03").tz("Europe/Paris").format());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data.min.js"></script>

<div id="div1"></div>

现在我需要使用MomentJS从输出值中获取时间戳。

4 个答案:

答案 0 :(得分:29)

moment().format("X"); // lowercase 'x' for miliseconds

var date = moment('2016-10-11 18:06:03').tz('Europe/Paris').format(),
    timestamp = moment(date).format("X");

$('#div1').text(date);
$('#timestamp').text(timestamp);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.21/moment-timezone-with-data.min.js"></script>

<div id="div1"></div>
<div id="timestamp"></div>

答案 1 :(得分:11)

你说:

  

我使用MomentJS使用以下方式将本地日期转换为UTC日期:   moment("2016-10-11 18:06:03").tz("Europe/Paris").format()

那不是那样做的。这会将本地值转换为巴黎时间,并将其作为ISO8601格式的字符串发出。

  

现在我需要使用MomentJS从输出值中获取时间戳。

这是一个不同的问题,并不会涉及上述的输出,因为:

  1. 您无法从输出字符串中获取时间戳,您可以从moment对象获取该时间戳。你可以解析那个字符串,但这很愚蠢,因为你之前已经有了moment个对象。

  2. 时间戳是基于UTC的,因此时区转换无关紧要。如果你根本没有转换,你会获得相同的时间戳。

  3. 您可以使用.format('X').format('x')获取包含时间戳的字符串,具体取决于您想要的精度。但是,使用.valueOf().unix()来获取数字时间戳更加清晰,同样取决于精度。

答案 2 :(得分:2)

要使用日期获取时间,请使用momentjs的格式方法

var date = moment('2016-10-11 18:06:03').tz('Europe/Paris').format();
 

console.log(date);
console.log(moment(date).format("X"));
console.log(moment(date).format("x")); // for milliseconds
console.log(moment(date).format("HH:mm"));
console.log(moment(date).format("hh:mm A"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.21/moment-timezone-with-data.min.js"></script>

答案 3 :(得分:1)

只是扩展前面提到的内容。这些会产生结果。

// less precision
moment().unix() === moment().format('X')  // uppercase X

// more precision
moment().valueOf() === moment().format('x')  // lowercase x

希望可以照亮