stime v1.1.1
Simple Time (STime)
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.
Installation
npm install stime
Basic Usage
Using in a script
STime does not require any additional calls or instansiation to use, simply call the STime library after installation:
const stime = require('stime');
Getting the current date/time
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();
Creating an instance of time in the future or past
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() |
Getting the difference between two times
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
Creating a date from a native date
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
Interacting with time
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
Formatting a time
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
Parsing time from a string
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