Neha Bajpai
Neha Bajpai

Reputation: 167

Get date time in specific format in moment js

I am trying to get the date time in moment js in this format :

2016-12-19T09:43:45.672Z

The problem is I am able to get the time format as

2016-12-19T15:04:09+05:30

using

moment().format();

but I need the format as the first one [like .672Z instead of +05:30]. Any suggestions would be of great help.

Upvotes: 2

Views: 10164

Answers (4)

Tarek Raihan
Tarek Raihan

Reputation: 1

Try this

    const start_date = '2018-09-30';
    const t = moment(start_date).utc().format();
    console.log(t);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Upvotes: 0

Mahendra Garg
Mahendra Garg

Reputation: 536

Use moment.utc() to display time in UTC time instead of local time:

var dateValue = moment().utc().format('YYYY-MM-DDTHH:mm:ss') + 'Z';

or moment().toISOString() to display a string in ISO format (format: YYYY-MM-DDTHH:mm:ss.sssZ, the timezone is always UTC):

var dateValue = moment().toISOString();

Upvotes: 0

reduckted
reduckted

Reputation: 2528

From the documentation on the format method:

To escape characters in format strings, you can wrap the characters in square brackets.

Since "Z" is a format token for the timezone, you need to escape it. So the format string you are after is:

moment().format('YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');

As @VincenzoC said in a comment, the toISOString() method would also give you the format you are after.

Upvotes: 6

anshuVersatile
anshuVersatile

Reputation: 2068

var dateTime = new Date("2015-06-17 14:24:36");
dateTime = moment(dateTime).format("YYYY-MM-DD HH:mm:ss");

Try this. You should have the date in the correct format.

Upvotes: 0

Related Questions