Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
2KB immutable date time library alternative to Moment.js with the same modern API
The dayjs npm package is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. It is lightweight and offers various functionalities to handle dates and times effectively.
Parsing
Parse a date string into a dayjs object.
dayjs('2023-04-01')
Validation
Check if a date is valid.
dayjs('2023-04-01').isValid()
Manipulation
Manipulate the date by adding time to it.
dayjs().add(1, 'year')
Display
Display the date in a specified format.
dayjs().format('YYYY-MM-DD')
Query
Query the date to compare with another date.
dayjs().isBefore(dayjs('2023-12-31'))
Localization
Localize the date to a different language.
dayjs().locale('es').format('dddd, MMMM D YYYY')
Timezone
Handle timezone conversions.
dayjs().tz('America/New_York').format()
Moment.js is a legacy date-time library similar to dayjs with a wide range of functionalities but is larger in size and no longer recommended for new projects.
Date-fns is a modern date utility library that provides the most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates in a browser & Node.js.
Luxon is a powerful, modern, and friendly wrapper for JavaScript dates and times. It offers a fluent API and aims to be a successor to Moment.js.
English | 简体中文 | 日本語 | Português Brasileiro | 한국어 | Español (España) | Русский
Fast 2kB alternative to Moment.js with the same modern API
Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.
dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');
You can find for more details, API, and other docs on day.js.org website.
npm install dayjs --save
It's easy to use Day.js APIs to parse, validate, manipulate, and display dates and times.
dayjs('2018-08-08') // parse
dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display
dayjs().set('month', 3).month() // get & set
dayjs().add(1, 'year') // manipulate
dayjs().isBefore(dayjs()) // query
Day.js has great support for internationalization.
But none of them will be included in your build unless you use it.
import 'dayjs/locale/es' // load on demand
dayjs.locale('es') // use Spanish locale globally
dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance
A plugin is an independent module that can be added to Day.js to extend functionality or add new features.
import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand
dayjs.extend(advancedFormat) // use plugin
dayjs().format('Q Do k kk X x') // more available formats
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
This project exists thanks to all the people who contribute.
Please give us a 💖 star 💖 to support us. Thank you.
And thank you to all our backers! 🙏
Day.js is licensed under a MIT License.
FAQs
2KB immutable date time library alternative to Moment.js with the same modern API
The npm package dayjs receives a total of 17,336,279 weekly downloads. As such, dayjs popularity was classified as popular.
We found that dayjs demonstrated a healthy version release cadence and project activity because the last version was released less than 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
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.