I used MomentJS to convert local date to UTC date using the following way:
You said:
I used MomentJS to convert local date to UTC date using the following way:
moment("2016-10-11 18:06:03").tz("Europe/Paris").format()
That doesn't do that. That converts a local value to Paris time, and emits it as a string in ISO8601 format.
Now I need timestamp from the output value using MomentJS.
That's a different question, and wouldn't involve the output of the above because:
You can't get a timestamp from the output string, you'd get it from a moment
object. You could parse that string, but that would be silly since you already had a moment
object earlier.
Timestamps are UTC based, so time zone conversion is irrelevant. You'd get the same timestamp if you didn't convert at all.
You can get a string with a timestamp using .format('X')
or .format('x')
depending on which precision you want. But it's much cleaner to just get the numerical timestamp using .valueOf()
or .unix()
, again depending on precision.
To get the time from the date use the format method of 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>
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>
Just to expand on something mentioned earlier. These generate the results.
// less precision
moment().unix() === moment().format('X') // uppercase X
// more precision
moment().valueOf() === moment().format('x') // lowercase x
Hope that sheds some light