
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
tinydate is a small and efficient date formatting library for JavaScript. It allows you to format dates using a simple and intuitive syntax.
Basic Date Formatting
This feature allows you to format dates using a template string. The placeholders {YYYY}, {MM}, and {DD} are replaced with the corresponding parts of the date.
const tinydate = require('tinydate');
const format = tinydate('{YYYY}-{MM}-{DD}');
console.log(format(new Date())); // Outputs: 2023-10-05
Custom Date Formatting
This feature allows you to create custom date formats by combining different placeholders. You can format the time and date in a more readable way.
const tinydate = require('tinydate');
const format = tinydate('{HH}:{mm}:{ss} on {MMMM} {DD}, {YYYY}');
console.log(format(new Date())); // Outputs: 14:30:00 on October 05, 2023
Short Date Formatting
This feature allows you to format dates in a short format using two-digit year, month, and day placeholders.
const tinydate = require('tinydate');
const format = tinydate('{M}/{D}/{YY}');
console.log(format(new Date())); // Outputs: 10/5/23
date-fns is a comprehensive date utility library that provides a wide range of functions for manipulating and formatting dates. It is larger in size compared to tinydate but offers more features and flexibility.
Moment.js is a widely-used date manipulation library that provides extensive functionality for parsing, validating, manipulating, and formatting dates. It is more feature-rich but also larger in size compared to tinydate.
Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times. It is similar to Moment.js but much smaller in size, making it a good alternative to tinydate for lightweight date formatting.
A tiny (349B) reusable date formatter. Extremely fast!
Inspired by tinytime
, this module returns a "render" function that efficiently re-render your deconstructed template. This allows for incredibly performant results!
However, please notice that this only provides a limited subset of Date methods.
If you need more, tinytime
or date-fns
are great alternatives!
$ npm install --save tinydate
const tinydate = require('tinydate');
const fooDate = new Date('5/1/2017, 4:30:09 PM');
const stamp = tinydate('Current time: [{HH}:{mm}:{ss}]');
stamp(fooDate);
//=> Current time: [16:30:09]
stamp();
//=> Current time: [17:09:34]
Returns: Function
Returns a rendering function that will optionally accept a date
value as its only argument.
Type: String
Required: true
The template pattern to be parsed.
Type: Object
Required: false
A custom dictionary of template patterns. You may override existing patterns or declare new ones.
Important: All dictionary items must be a function and must control its own formatting.
For example, when defining your own{ss}
template,tinydate
will not pad its value to two digits.
const today = new Date('2019-07-04, 5:30:00 PM');
// Example custom dictionary:
// - Adds {MMMM}
// - Overrides {DD}
const stamp = tinydate('Today is: {MMMM} {DD}, {YYYY}', {
MMMM: d => d.toLocaleString('default', { month: 'long' }),
DD: d => d.getDate()
});
stamp(today);
//=> 'Today is: July 4, 2019'
Type: Date
Default: new Date()
The date from which to retrieve values. Defaults to current datetime if no value is provided.
{YYYY}
: full year; eg: 2017{YY}
: short year; eg: 17{MM}
: month; eg: 04{DD}
: day; eg: 01{HH}
: hours; eg: 06 (24h){mm}
: minutes; eg: 59{ss}
: seconds; eg: 09{fff}
: milliseconds; eg: 555# Node v10.13.0
tinydate x 160,834,214 ops/sec ±0.21% (96 runs sampled)
tinytime x 44,602,162 ops/sec ±0.34% (97 runs sampled)
time-stamp x 888,153 ops/sec ±1.27% (86 runs sampled)
MIT © Luke Edwards
FAQs
A tiny (349B) reusable date formatter. Extremely fast!
We found that tinydate 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
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.