@uiw/formatter

Get a formatted date.

Usage no npm install needed!

<script type="module">
  import uiwFormatter from 'https://cdn.skypack.dev/@uiw/formatter';
</script>

README

Formatter

GitHub Actions Build formatter Coverage Status npm downloads

Get a formatted date.

Demo preview in CodePen Demo preview in CodeSandbox

Install

$ npm install --save @uiw/formatter

Usage

import formatter from '@uiw/formatter';

console.log(formatter());
//=> 2019-03-07

console.log(formatter.utc());
//=> 2019-03-07

console.log(formatter('YYYY年MM月DD日', new Date(2019, 3, 7)))
//=> 2019年04月07日
console.log(formatter('YYYY年MM月DD日 16:30:29', new Date(2019, 3, 7, 16, 30, 29)))
//=> 2019年04月07日 16:30:29


console.log(formatter('YYYY'));
//=> 2019
console.log(formatter.utc('YYYY'));
//=> 2019

Or manually download and link formatter.js in your HTML, It can also be downloaded via UNPKG:

<div id="date"></div>
<script src="https://unpkg.com/@uiw/formatter/dist/formatter.min.js"></script>
<script>
  document.getElementById('date').innerHTML = formatter();
</script>

The above example preview.

timeZoneConverter

Resolve changes in time zone, resulting in inaccurate display server time

function timeZoneConverter(date, timeZone) {
  const oldDate = new Date(date);
  const newDate = new Date();
  const stamp = oldDate.getTime();
  if (!timeZone) return oldDate;
  return (isNaN(timeZone) && !timeZone)
    ? oldDate :
    new Date(stamp + (newDate.getTimezoneOffset() * 60 * 1000) + (timeZone * 60 * 60 * 1000));
}
timeZoneConverter(new Date(1434701732*1000), 8)

API

formatter(rule: String, date: Date, utc: Boolean);
formatter.utc(rule: String, date: Date);

Supported Patterns

rule Description 中文说明 E.g
YYYY full year 2019
MM month 02
DD day 05
HH hours 12
mm minutes 分钟 59
ss seconds 09
ms milliseconds 毫秒 532