Typescript ready date library alternative to Moment.js
Carbon.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.
- 🕒 Familiar Moment.js API & patterns
- 💪 Immutable
- 🔥 Chainable
- 🌐 I18n support
- ⚙️ Plugin support
- ⚙️ Calendar support (as part of plugin support)
- 📦 3kb mini library
npm i -s carbonjs
It's easy to use Carbon.js APIs to parse, validate, manipulate, and display dates and times.
import * as Carbon from "carbonjs";
Carbon.parse("2018-08-08"); // parse
new Carbon().format("{YYYY} MM-DDTHH:mm:ss SSS [Z] A"); // display
Carbon.parse().set("month", 3).month(); // get & set
new Carbon().add(1, "year"); // manipulate
Carbon.parse().isBefore(Carbon.parse()); // query
Day.js has great support for internationalization.
But none of them will be included in your build unless you use it.
import "carbonjs/lib/locales/es"; // load locale package on demand
Carbon.locale("es"); // use Spanish locale globally
Carbon.parse("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 * as advancedFormat from 'carbonjs/lib/plugins/advanced-format' // load on demand
Carbon.extend(advancedFormat) // use plugin
Carbon.parse().format('Q Do k kk X x') // more available formats
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Ardalan Amini - Owner/Developer - @ardalanamini
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details
If my work helps you, please consider