
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
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
FAQs
Time package for easy time manipulation
We found that stime demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.