Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arashm/jdate
A Jalali to Gregorian converter in Javascript with support of formatting output
https://github.com/arashm/jdate
calendar gregorian-converter jalali jdate solar
Last synced: about 3 hours ago
JSON representation
A Jalali to Gregorian converter in Javascript with support of formatting output
- Host: GitHub
- URL: https://github.com/arashm/jdate
- Owner: arashm
- License: mit
- Created: 2014-08-02T19:04:23.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-09-12T01:02:41.000Z (2 months ago)
- Last Synced: 2024-11-04T01:52:07.913Z (10 days ago)
- Topics: calendar, gregorian-converter, jalali, jdate, solar
- Language: JavaScript
- Homepage:
- Size: 7.75 MB
- Stars: 90
- Watchers: 6
- Forks: 27
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
JDate
=====![Build Status](https://github.com/arashm/JDate/actions/workflows/node.js.yml/badge.svg?branch=master)
[![NPM Version](https://img.shields.io/npm/v/jalali-date)](https://www.npmjs.com/package/jalali-date)
[![NPM License](https://img.shields.io/npm/l/all-contributors.svg?style=flat)](https://github.com/arashm/JDate/blob/master/LICENSE)A Jalali to Gregorian converter in JavaScript with support of formatting output
## Installation
Install via NPM/Yarn:
```
npm install jalali-date
```You could grab the latest version from `lib` directory and use it:
```html
```
The full-version is useful for debugging. You may want to use minified version in production as it is smaller.
### Initialization
For initializing `JDate` you may either pass an array of Jalali date to it or a `Date` object. If no parameter is passed, the default is today:
```javascript
const JDate = require('jalali-date');
const jdate = new JDate; // => default to today
const jdate2 = new JDate(1393, 10, 11);
const jdate3 = new JDate([1393, 10, 11]);
const jdate4 = new JDate(new Date(2014, 1, 3));```
### API
```javascript
jdate.date //=> [1393, 5, 13] An Array of Jalali Date
jdate._d // => Gregorian Date Object// Getters
jdate.getFullYear() // => 1393
jdate.getMonth() // => 5
jdate.getDate() // => 13
jdate.getDay() // => 1// Setters
jdate.setFullYear(1394)
jdate.setMonth(6)
jdate.setDate(12)// Formatting output
jdate.format('dddd DD MMMM YYYY') // => پنجشنبه 12 شهریور 1394// Static functions
JDate.isLeapYear(1393) // => false
JDate.daysInMonth(1393, 5) // => 31
JDate.toGregorian(1393, 12, 11) // => Gregorian Date object
JDate.toJalali(new Date) // => JDate object
```## Formatting output
Use `format()` and following conversion identifiers as follows:```javascript
date.format('dddd DD MMMM YYYY') //=> دوشنبه 6 امرداد 1393
```The conversion identifiers are as follows:
| Identifier | Description | Example |
| ------------- | ------------- | ---------- |
| `YYY` or `YYYY` | Full Year (4 digits) | 1393 |
| `YY` | Year (2 digits) | 93 |
| `M` | Month in number | returns `5` for `امرداد` |
| `MM` | Month in number | returns `05` for `امرداد` |
| `MMM` or `MMMM` | Month in string | `امرداد` |
| `D` | Day in number | 26 |
| `DD` | Day in number | 06 |
| `d` or `dd` | Abbreviation of day name in string | `۱ش` (for یکشنبه) |
| `ddd` or `dddd` | Full day name in string | `یکشنبه` |## Contribute
Report bugs and suggest feature in [issue tracker](https://github.com/arashm/Jalali-Calendar/issues). Feel free to `Fork` and send `Pull Requests`.
## License
[MIT](https://github.com/arashm/JDate/blob/master/LICENSE)