3.0.0-beta.1 • Published 8 months ago

@epdoc/timeutil v3.0.0-beta.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

@epdoc/timeutil

Contains date and time duration utilities that are not found in moment.js or require a fair amount of wrapper logic when using Intl.DurationFormat.

Contains no external dependencies.

Date Utilities

Contains methods to generate, from a Date object:

  • an ISO date string that uses the local timezone
  • the Julian date value
  • a date that is suitable for use in Google Sheets
  • create a new DateUtil object from a date in the PDF date format
  • various methods to work with timezones
import { dateUtil } from './mod.ts';

const d0 = new Date();
console.log(d0.toLocaleString());
console.log(d0.toISOString());
console.log(dateUtil(d0).toISOLocalString());
console.log(dateUtil(d0).toISOLocalString(false));

console.log(dateUtil(d0).julianDate());
console.log(dateUtil(d0).googleSheetsDate());

console.log(dateUtil(d0).format('YYYYMMDD_HHmmss'));
console.log(dateUtil(d0).formatUTC('YYYYMMDD_HHmmss'));

Resultant output:

11/25/1997, 06:13:14 AM
1997-11-25T12:13:14.456Z
1997-11-25T06:13:14.456-06:00
1997-11-25T06:13:14-06:00'
2450778
35759.25918981482
19971125_061314
19971125_121314

Duration Utilities

Contains methods to generate a duration string from a number of milliseconds.

import { Duration } from './mod.ts';

console.log('digital');
console.log(' ', Duration.util().digital.format(-4443454));
console.log(' ', Duration.util().digital.digits(0).format(-4443454));
console.log(' ', Duration.util().digital.format(3454)); // default 3 fractional digits
console.log(' ', Duration.util().digital.digits(0).format(3454.123456));
console.log(' ', Duration.util().digital.digits(6).format(3454.123456));
console.log(' ', Duration.util().digital.digits(9).format(3454.123456));

console.log('narrow');
console.log(' ', Duration.util().narrow.format(-4443454));
console.log(' ', Duration.util().narrow.max('minutes').digits(0).format(4443454));
console.log(' ', Duration.util().narrow.format(3454));

console.log('long');
console.log(' ', Duration.util().long.format(-4443454));
console.log(' ', Duration.util().long.separator(' ').digits(0).max('minutes').format(-4443454));

console.log('short');
console.log(' ', Duration.util().short.digits(0).format(982440990));
console.log(' ', Duration.util().short.digits(3).format(982440990));

Resultant output:

digital
  1:14:03.454
  1:14:03
  00:03.454
  00:03
  00:03.454123
  00:03.454123456
narrow
  1h14m03.454s
  74m03s
  3.454s
long
  1 hour, 14 minutes, 3 seconds, 454 milliseconds
  74 minutes 3 seconds
short
  11 days 8 hr 54 min
  11 days 8 hr 54 min 990 ms

Type Definitions

There are type definitions for the following:

  • Milliseconds: Integer
  • HrMilliseconds: number
  • EpochMilliseconds: Integer
  • EpochSeconds: Integer
  • Minutes: number
  • Seconds: number
import type { Milliseconds, HrMilliseconds, EpochMilliseconds, EpochSeconds, Minutes } from './mod.ts';
3.0.0-beta.1

8 months ago

2.5.5

10 months ago

2.4.9

12 months ago

2.5.0

12 months ago

2.5.2

12 months ago

2.6.0

10 months ago

2.5.1

12 months ago

2.5.4

10 months ago

2.5.3

10 months ago

2.4.10

12 months ago

2.4.5

1 year ago

2.4.7

1 year ago

2.4.6

1 year ago

2.4.8

1 year ago

2.4.3

1 year ago

2.4.2

1 year ago

2.4.1

1 year ago

2.4.0

2 years ago