carbonjs
Version:
Javascript date library alternative to Moment.js with the same modern API
126 lines (83 loc) • 5.57 kB
Markdown
# carbonjs [](https://twitter.com/intent/tweet?text=Typescript%20ready%20date%20library%20alternative%20to%20Moment&url=https://github.com/ardalanamini/carbonjs&via=ardalanamini&hashtags=carbonjs,nodejs,dayjs,moment,typescript,date,time,immutable,developers,fast)
Typescript ready date library alternative to Moment.js
[](https://www.npmjs.com/package/carbonjs)
[](https://www.typescriptlang.org)
[](https://travis-ci.com/ardalanamini/carbonjs)
[](https://codecov.io/gh/ardalanamini/carbonjs)
[](https://packagequality.com/#?package=carbonjs)
[](https://www.npmjs.com/package/carbonjs)
[](https://www.npmjs.com/package/carbonjs)
[](https://www.npmjs.com/package/carbonjs)
[](https://www.npmjs.com/package/carbonjs)
[](https://github.com/ardalanamini/carbonjs/issues?q=is%3Aopen+is%3Aissue)
[](https://github.com/ardalanamini/carbonjs/issues?q=is%3Aissue+is%3Aclosed)
[](https://github.com/facebook/jest)
[](https://snyk.io/test/github/ardalanamini/carbonjs?targetFile=package.json)
[](https://david-dm.org/ardalanamini/carbonjs)
[](https://github.com/ardalanamini/carbonjs/pulls)
[](https://github.com/ardalanamini/carbonjs/blob/master/LICENSE)
[](https://github.com/ardalanamini/carbonjs)
[](https://github.com/ardalanamini/carbonjs)
> 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.
## Table of Content <!-- omit in toc -->
- [Features](#features)
- [Getting Started](#getting-started)
- [Installation](#installation)
- [Usage](#usage)
- [API](#api)
- [I18n](#i18n)
- [Plugin](#plugin)
- [Versioning](#versioning)
- [Authors](#authors)
- [License](#license)
- [Support](#support)
## Features
- :clock3: Familiar Moment.js API & patterns
- :muscle: Immutable
- :fire: Chainable
- :globe_with_meridians: I18n support
- :gear: Plugin support
- :gear: Calendar support (as part of plugin support)
## Getting Started
### Installation
```bash
npm i -s carbonjs
```
### Usage
#### API
It's easy to use Carbon.js APIs to parse, validate, manipulate, and display dates and times.
```javascript
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
```
#### I18n
Day.js has great support for internationalization.
But none of them will be included in your build unless you use it.
```javascript
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
```
#### Plugin
A plugin is an independent module that can be added to Day.js to extend functionality or add new features.
```javascript
import * as advancedFormat from 'carbonjs/lib/plugins/advancedFormat' // load on demand
Carbon.extend(advancedFormat) // use plugin
Carbon.parse().format('Q Do k kk X x') // more available formats
```
:books:[Full API Reference](https://carbon.js.org)
## Versioning
We use [SemVer](http://semver.org) for versioning. For the versions available, see the [tags on this repository](https://github.com/ardalanamini/carbonjs/tags).
## Authors
- **Ardalan Amini** - *Owner/Developer* - [@ardalanamini](https://github.com/ardalanamini)
See also the list of [contributors](https://github.com/ardalanamini/carbonjs/contributors) who participated in this project.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
## Support
If my work helps you, please consider
[](https://www.patreon.com/ardalanamini)
[](https://www.buymeacoffee.com/ardalanamini)