localISOdt
Convert the most common types of dates and timestamps into datetime strings in the standard YYYY-MM-DDTHH:MM:SS
format, in the local timezone. This format is called ISO8601 or RFC3339, the difference being that RFC3339 mandates a four-digit year and allows the 'T' to be replaced with a space. The library outputs the 'T' between the date and the time, which you can easily .replace('T', ' ')
.
The YYYY-MM-DD date format is great because sorting alphabetically is equivalent to sorting chronologically. Other date formats, in particular the idiosyncratic m/dd/yy
American format, do not have this property.
Features
Supports and automatically detects the parameter being a:
- number of seconds/milliseconds/microseconds/nanoseconds since epoch
- Date object
-
YYYY-MM-DD[THH:MM:SS]
string - falsy value - the current date will be returned
Install
npm i -s local-iso-dt
Usage
This is a native ES2015 module that you can use directly in .mjs
files without Babel. Just pass --experimental-modules
to node.
You can also use it the good old require
way. Learn how to publish native ES6 modules that are backwards-compatible with Node < 8.5.0.
index.mjs
import { localISOdt } from 'local-iso-dt/index.mjs'; // or...
// const { localISOdt } = require('local-iso-dt');
// Prefix log messages with the current date in the
// local timezone in YYYY-MM-DDTHH:MM:SS format
console.log(localISOdt(), 'Starting job...');
// 2017-07-15T05:57:36 if you're in the Pacific (-0700) timezone
localISOdt(1500123456);
Run:
node --experimental-modules index.mjs
License
MIT