Skip to content

uiwjs/date-formatter

This branch is up to date with master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8548469 · Jun 24, 2024

History

94 Commits
Jun 24, 2024
Apr 5, 2023
Feb 27, 2023
Mar 7, 2019
Mar 8, 2019
Aug 18, 2020
Dec 11, 2020
Feb 27, 2023
Apr 5, 2023
Mar 5, 2022
Apr 5, 2023
Apr 5, 2023

Repository files navigation

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年MM月DD日 HH:mm-ss', new Date(2019, 3, 7, 16, 30, 29)))
//=> 2019年04月07日 16:30-29
console.log(formatter('YYYY/MM/DD HH:mm:ss', new Date(2019, 3, 7, 16, 30, 29)))
//=> 2019年04月07日 16:30-29
console.log(formatter('YYYY/MM/DD HH:mm:ss', 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