README.md 2.26 KB

localISOdt

Build Status Dependency Status devDependency Status

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