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 carbonjsIt'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()); // queryDay.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 instanceA 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 formatsWe 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

