STime is a simple javascript library used to generate and manipulate date/time. STime is designed to have a simple, readable API that is as pleasing to the eye as it is useful.
npm install stime
STime does not require any additional calls or instansiation to use, simply call the STime library after installation:
const stime = require('stime');
The current time returned from any of the generator methods is a Time, more information about how to interact with a time can be found in the Interacting with time section.
const stime = require('stime');
const time = stime.now();
A builder is provided to create a date at a particular date/time from the current date/time, this can be accessed in the following way:
const stime = require('stime');
stime.create(7).days().from().now(); // An instance of time 7 days from today
A number of options are available for use with the builder, depending which stage you are at:
Stage | Available options | Example |
---|---|---|
Creation | days months years hours minutes seconds |
stime.create(7).hours() |
Units | from before |
stime.create(7).days().before() |
Direction | now time |
stime.create(6).hours().after().now() |
A difference method is available in STime. This method takes two times and will report the difference between those two times.
Example
const stime = require('stime');
const timeOne = stime.fromDate(new Date('01-01-2020 15:00:00'));
const timeTwo = stime.fromDate(new Date('01-05-2020 15:00:00'));
stime.difference(timeOne, timeTwo).getTotalDays(); // 4
To allow for the greatest level of flexibility, STime offers a mechanism to get a time from a native javascript date.
const stime = require('stime');
stime.fromDate(new Date('01-01-2020 14:00:00')); // A time at the specified date
Method | Return value |
---|---|
getDay | The current day as an integer |
getHours | The current hour as an integer |
getMinutes | The current minute as an integer |
getSeconds | The current second as an integer |
getYear | The current year as an integer |
getMonth | The current month as an integer |
toTimestamp | Convert the time instance to a unix timestamp |
format | Format a time into a particular format |
Example
const stime = require('stime');
const time = stime.now();
time.getDay(); // Todays day of the month
Available Formats
Character(s) | Result | Example |
---|---|---|
YYYY |
Four-digit year | 2020 |
YY |
Two-digit year | 20 |
MMMM |
Full month name | January |
MMM |
Three character month name | Jan |
MM |
Month number with leading zeros | 01 |
M |
Month number without leading zeros | 1 |
DD |
Day number with leading zeros | 03 |
D |
Day number without leading zeros | 3 |
HH |
Hour with leading zeros | 07 |
H |
Hour without leading zeros | 7 |
II |
Minutes with leading zeros | 08 |
I |
Minutes without leading zeros | 8 |
SS |
Seconds with leading zeros | 09 |
S |
Seconds without leading zeros | 9 |
Example
const stime = require('stime');
stime.now().format('DD/MM/YYYY'); // 01/12/2020
Character(s) | Result | Example |
---|---|---|
YYYY |
Four-digit year | 2020 |
MMMM |
Full month name | January |
MMM |
Three character month name | Jan |
MM |
Month number with leading zeros | 01 |
M |
Month number without leading zeros | 1 |
DD |
Day number with leading zeros | 03 |
D |
Day number without leading zeros | 3 |
HH |
Hour with leading zeros | 07 |
H |
Hour without leading zeros | 7 |
II |
Minutes with leading zeros | 08 |
I |
Minutes without leading zeros | 8 |
SS |
Seconds with leading zeros | 09 |
S |
Seconds without leading zeros | 9 |
Example
const stime = require('stime');
stime.parse('13/01/2000', 'DD/MM/YYYY').getYear(); // 2000