s-date
Same general purpose as moment.js, but in ~1kb minified.
This CommonJS module exports a single function that takes two parameters. The first is a format string, the second is an optional Date
. If the date is omitted, it defaults to new Date();
.
If you don't need full customizability for your date string, you probably don't need this library. Just use Date.toLocaleDateString() and related methods.
Usage
var date = ; var myBirthday = 1994 10 7;; // '11/07/1994'
Formatting options
Example: For January 2, 2053 4:30pm + 45 seconds
String template | Output example | Meaning |
---|---|---|
{yyyy} |
2053 | 4-digit year |
{yy} |
53 | 2-digit year |
{mm} |
01 | 2-digit month |
{m} |
1 | unpadded month |
{Month} |
January | month name |
{Mo} |
Jan | month shortname |
{d} |
2 | date |
{ds} |
2nd | date + suffix |
{dd} |
02 | 2-digit date |
{Weekday} |
Thursday | day of the week |
{Day} |
Thu | day shortname |
{Dy} |
Th | day shortername |
{D} |
T | 1-char day name |
{h24} |
16 | unpadded hours (24) |
{hh24} |
16 | hours (24) |
{hh} |
04 | hours (12) |
{h} |
4 | unpadded hours (12) |
{ampm} |
pm | am/pm |
{AMPM} |
PM | AM/PM |
{Minutes} |
30 | Minutes (padded) |
{Seconds} |
45 | Seconds (padded) |
To output the example above...
// Date(year, month-1, date, hours, minutes, seconds)var someDay = 2053 0 2 4 30 45;;
Benchmarks
Run using benchmark.js on 2.3GHz Macbook Pro
s-date x 428,936 ops/sec ±2.29% (79 runs sampled)
moment x 271,963 ops/sec ±1.34% (85 runs sampled)
date-fns x 196,827 ops/sec ±1.17% (80 runs sampled)
dayjs x 121,425 ops/sec ±1.99% (87 runs sampled)
luxon x 90,782 ops/sec ±1.13% (83 runs sampled)
Fastest is s-date