Search code examples
javascriptdatemomentjsisodate

Remove Seconds/ Milliseconds from Date convert to ISO String


I have a date object that I want to

  1. remove the miliseconds/or set to 0
  2. remove the seconds/or set to 0
  3. Convert to ISO string

For example:

var date = new Date();
//Wed Mar 02 2016 16:54:13 GMT-0500 (EST)

var stringDate = moment(date).toISOString();
//2016-03-02T21:54:13.537Z

But what I really want in the end is

stringDate = '2016-03-02T21:54:00.000Z'

Solution

  • While this is easily solvable with plain JavaScript (see RobG's answer), I wanted to show you the Moment.js solution since you tagged your questions as "momentjs":

    moment().seconds(0).milliseconds(0).toISOString();
    

    This gives you the current datetime, without seconds or milliseconds.

    Working example: http://jsbin.com/bemalapuyi/edit?html,js,output

    From the docs: http://momentjs.com/docs/#/get-set/