How to format a UTC date as a `YYYY-MM-DD hh:mm:ss` string using NodeJS?
date, javascript, node.js
Solution
If you're using Node.js, you're sure to have EcmaScript 5, and so Date has a `toISOString` method. You're asking for a slight modification of ISO8601:
new Date().toISOString()
> '2012-11-04T14:51:06.157Z'
So just cut a few things out, and you're set:
new Date().toISOString().
replace(/T/, ' '). // replace T with a space
replace(/\..+/, '') // delete the dot and everything after
> '2012-11-04 14:55:45'
Or, in one line: `new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')`
ISO8601 is necessarily UTC (also indicated by the trailing Z on the first result), so you get UTC by default (always a good thing).
Problem
Using NodeJS, I want to format a `Date` into the following string format: ``` var ts_hms = new Date(UTC); ts_hms.format("%Y-%m-%d %H:%M:%S"); ``` How do I do that?