Как преобразовать дату в временную метку с помощью 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>
Ответы
Ответ 1
Вы сказали:
Я использовал MomentJS для преобразования локальной даты в дату UTC, используя следующий способ: moment("2016-10-11 18:06:03").tz("Europe/Paris").format()
Это не делает этого. Это преобразует локальное значение в парижское время и выдает его в виде строки в формате ISO8601.
Теперь мне нужна метка времени из выходного значения с помощью MomentJS.
Это другой вопрос, и он не будет связан с выводом вышеизложенного, потому что:
-
Вы не можете получить метку времени из выходной строки, вы получите ее из объекта moment
. Вы могли бы разобрать эту строку, но это было бы глупо, поскольку у вас уже был moment
объект ранее.
-
Временные метки основаны на UTC, поэтому преобразование часовых поясов не имеет значения. Вы бы получили ту же самую метку времени, если бы вообще не конвертировали.
Вы можете получить строку с отметкой времени, используя .format('X')
или .format('x')
зависимости от того, какую точность вы хотите. Но гораздо .valueOf()
получить числовую метку времени с помощью .valueOf()
или .unix()
, опять же, в зависимости от точности.
Ответ 2
moment().format("X"); // lowercase 'x' for milliseconds
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>
Ответ 3
Чтобы узнать время от даты, используйте метод formatjs
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>