@wazio/date-time
v0.1.1
Published
JavaScript/TypeScript DateTime library
Readme
DateTime
A small JavaScript library written in TypeScript with some useful methods that I've always missed in JavaScript's Date object. Written without Regex. Based on C# DateTime class.
Installation
npm install @wazio/date-timeTest
npm testUsage
import { DateTime, TimeSpan } from '@wazio/date-time';
// format
DateTime.format(new Date(2017, 5, 12, 16, 30), 'yyyy-MM-dd hh:mm tt'); // will output '2017-06-12 04:30 PM'
// parseExact
DateTime.parseExact('2017-06-12 04:30 PM', 'yyyy-MM-dd hh:mm tt'); // will be equal to new Date(2017, 5, 12, 16, 30)
// subtract
let timeSpan: TimeSpan = DateTime.subtract(new Date(2017, 5, 12, 16, 30), new Date(2017, 5, 11, 13, 30));
timeSpan.days; // will output 1
timeSpan.hours; // will output 3
timeSpan.totalDays; // will output 1.125
timeSpan.totalHours; // will output 27
// subtractDate
let timeSpan: TimeSpan = DateTime.subtractDate(new Date(2017, 5, 12, 16, 30), new Date(2017, 5, 11, 13, 30));
timeSpan.days; // will output 1
timeSpan.hours; // will output 0
timeSpan.totalDays; // will output 1
timeSpan.totalHours; // will output 24
// day checking with subtractDate
let timeSpan: TimeSpan = DateTime.subtractDate(new Date(2017, 5, 12, 16, 30), new Date(2017, 5, 13, 13, 30)); // second parameter is current date by default
let isYesterday: boolean = timeSpan.days === -1; // will output true
let isToday: boolean = timeSpan.days === 0; // will output false
let isTomorrow: boolean = timeSpan.days === 1; // will output falseClasses
DateTime
Methods
| Name | Description |
| --- | ---|
| static format(date: Date, format: string): string | Converts the value of the given Date object to its equivalent string representation using the specified format. |
| static parseExact(datetime: string, format: string): Date | Converts the specified string representation of a date and time to its Date equivalent using the specified format. |
| static subtract(date1: Date, date2: Date = new Date()): TimeSpan | Returns a new TimeSpan object based on date and time subtraction between given Date objects. |
| static subtractDate(date1: Date, date2: Date = new Date()): TimeSpan | Returns a new TimeSpan object based on date subtraction between given Date objects. |
TimeSpan
Constructor
constructor(milliseconds: number);
constructor(hours: number, minutes: number, seconds: number);
constructor(days: number, hours: number, minutes: number, seconds: number, milliseconds?: number);Methods
| Name | Description |
| --- | ---|
| get days(): number | Returns the days component of the time interval represented by the current TimeSpan structure. |
| get hours(): number | Returns the hours component of the time interval represented by the current TimeSpan structure. |
| get minutes(): number | Returns the minutes component of the time interval represented by the current TimeSpan structure. |
| get seconds(): number | Returns the seconds component of the time interval represented by the current TimeSpan structure. |
| get milliseconds(): number | Returns the milliseconds component of the time interval represented by the current TimeSpan structure. |
| | |
| get totalDays(): number | Returns the milliseconds value of the current TimeSpan structure expressed in whole and fractional days. |
| get totalHours(): number | Returns the milliseconds value of the current TimeSpan structure expressed in whole and fractional hours. |
| get totalMinutes(): number | Returns the milliseconds value of the current TimeSpan structure expressed in whole and fractional minutes. |
| get totalSeconds(): number | Returns the milliseconds value of the current TimeSpan structure expressed in whole and fractional seconds. |
| get totalMilliseconds(): number | Returns the milliseconds value of the current TimeSpan structure expressed in whole and fractional milliseconds. |
Format Specifiers
| Format specifier | Description | Example | Compatible with parseExact | | --- | --- | --- | --- | | Year | y | The year, from 0 to 99. | 7 | yes | | yy | The year, from 00 to 99. | 17 | yes | | yyy | The year, with a minimum of three digits. | 017 | yes | | yyyy | The year as a four-digit number. | 2017 | yes | | yyyyy | The year as a five-digit number. | 02017 | yes | || | Month | M | The month, from 1 through 12. | 6 | - | | MM | The month, from 01 through 12. | 06 | yes | || | Day | d | The day of the month, from 1 through 31. | 8 | - | | dd | The day of the month, from 01 through 31. | 08 | yes | || | Hour | h | The hour, using a 12-hour clock from 1 to 12. | 6 | - | | hh | The hour, using a 12-hour clock from 01 to 12. | 06 | yes | | H | The hour, using a 24-hour clock from 0 to 23. | 6 | - | | HH | The hour, using a 24-hour clock from 00 to 23. | 06 | yes | | t | The first character of the AM/PM designator. | P | yes | | tt | The AM/PM designator. | PM | yes | || | Minute | m | The minute, from 0 through 59. | 4 | - | | mm | The minute, from 00 through 59. | 04 | yes | || | Second | s | The second, from 0 through 59. | 9 | - | | ss | The second, from 00 through 59. | 09 | yes | || | Millisecond | f | The tenths of a second in a date and time value. | 8 | yes | | ff | The hundredths of a second in a date and time value. | 81 | yes | | fff | The milliseconds in a date and time value. | 813 | yes |
