1.0.7 • Published 1 year ago

@nence/datetime v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@nence/datetime

Feature

  • Datetime class that support timezone conversion.
  • It also supports date and time disguising.

Install

npm install @nence/datetime

Sample

https://github.com/codesmith666/datetime/blob/main/test.ts

How to use

Constructor

const dt1 = new Datetime(); // now(utc)
const dt2 = new Datetime(undefined, "Asia/Tokyo"); // now(Asia/Tokyo)
const dt3 = new Datetime(0); // 1970-01-01T00:00:00+00:00
const dt4 = new Datetime("2024-06-03T20:01:23", "Asia/Tokyo"); // 2024-06-03T20:01:23+09:00
const dt5 = new Datetime("2024-06-03T20:01:23+09:00"); // 2024-06-03T20:01:23+09:00
const dt6 = new Datetime(new Datetime()); // copy
const dt7 = new Datetime({ seconds: 60 }, "Asia/Tokyo"); // 60 seconds from the present

Timezone conversion

const ut = 946782245678;
const dt = new Datetime(ut);

console.log(dt.format()); // "2000-01-02T03:04:05.678+00:00"

const at = dt.toTimezone("Asia/Tokyo");
console.log(at.format()); // "2000-01-02T12:04:05.678+09:00"

const pg = at.toTimezone("Pasific/Gambier");
console.log(pg.format()); // "2000-01-01T18:04:05.678-09:00"

format()

  • default argument is "y-m-dTh:i:s.lz".
const dt = new Datetime();
console.log(dt.format()); // "2024-06-02T17:29:15.213+00:00"
console.log(dt.format("y-m-d")); // "2024-06-02"

iso8601x

  • same as format("y-m-dTh:i:sz");
const dt = new Datetime();
console.log(dt.iso8601x); // "2024-06-02T17:29:15+00:00"

timezone

const dt1 = new Datetime("2024-06-03T20:37:12", "Asia/Tokyo");
console.log(dt1.timezone); // Asia/Tokyo

const dt2 = new Datetime("2024-06-03T20:37:12+09:00");
console.log(dt2.timezone); // +09:00

Disguising

// set clock
Datetime.setClock("2050-06-02T15:21:13");

// get now
new Datetime().format("y-m-dTh:i:s"); // "2050-06-02T15:21:13"

EOF

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago