moment-jalaali

WebJar for moment-jalaali

License

License

MIT
Categories

Categories

Github Development Tools Version Controls
GroupId

GroupId

org.webjars.bower
ArtifactId

ArtifactId

github-com-jalaali-moment-jalaali
Last Version

Last Version

0.5.1
Release Date

Release Date

Type

Type

jar
Description

Description

moment-jalaali
WebJar for moment-jalaali
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/jalaali/moment-jalaali

Download github-com-jalaali-moment-jalaali

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.bower/github-com-jalaali-moment-jalaali/ -->
<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>github-com-jalaali-moment-jalaali</artifactId>
    <version>0.5.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.bower/github-com-jalaali-moment-jalaali/
implementation 'org.webjars.bower:github-com-jalaali-moment-jalaali:0.5.1'
// https://jarcasting.com/artifacts/org.webjars.bower/github-com-jalaali-moment-jalaali/
implementation ("org.webjars.bower:github-com-jalaali-moment-jalaali:0.5.1")
'org.webjars.bower:github-com-jalaali-moment-jalaali:jar:0.5.1'
<dependency org="org.webjars.bower" name="github-com-jalaali-moment-jalaali" rev="0.5.1">
  <artifact name="github-com-jalaali-moment-jalaali" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.bower', module='github-com-jalaali-moment-jalaali', version='0.5.1')
)
libraryDependencies += "org.webjars.bower" % "github-com-jalaali-moment-jalaali" % "0.5.1"
[org.webjars.bower/github-com-jalaali-moment-jalaali "0.5.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.bower : moment jar [2.9.0,3)

Project Modules

There are no modules declared in this project.

moment-jalaali

A Jalaali (Jalali, Persian, Khorshidi, Shamsi) calendar system plugin for moment.js.

NPM Build Status

Jalali calendar is a solar calendar that was used in Persia, variants of which today are still in use in Iran as well as Afghanistan. Read more on Wikipedia or see Calendar Converter.

This plugin adds Jalaali calendar support to momentjs library.

Calendar conversion is based on the algorithm provided by Kazimierz M. Borkowski and has a very good performance.

Where to use it

Like momentjs, moment-jalaali works in browser and in Node.js.

Node.js

npm install moment-jalaali
var moment = require('moment-jalaali')
moment().format('jYYYY/jM/jD')

Browser

You may use the node_modules/build/moment-jalaali.js file.

<script src="node_modules/moment/min/moment.min.js"></script>
<script src="node_modules/moment-jalaali/build/moment-jalaali.js"></script>
<script>
  moment().format('jYYYY/jM/jD')
</script>

API

This plugin tries to mimic momentjs api. Basically, when you want to format or parse a string, just add a j to the format token like 'jYYYY' or 'jM'. For example:

m = moment('1360/5/26', 'jYYYY/jM/jD') // Parse a Jalaali date
m.format('jYYYY/jM/jD [is] YYYY/M/D') // 1360/5/26 is 1981/8/17

m.jYear() // 1360
m.jMonth() // 4
m.jDate() // 26
m.jDayOfYear() // 150
m.jWeek() // 22
m.jWeekYear() // 1360

m.add(1, 'jYear')
m.add(2, 'jMonth')
m.add(3, 'day')
m.format('jYYYY/jM/jD') // 1361/7/29

m.jMonth(11)
m.startOf('jMonth')
m.format('jYYYY/jM/jD') // 1361/12/1

m.jYear(1392)
m.startOf('jYear')
m.format('jYYYY/jM/jD') // 1392/1/1

m.subtract(1, 'jYear')
m.subtract(1, 'jMonth')
m.format('jYYYY/jM/jD') // 1390/12/1

moment('1391/12/30', 'jYYYY/jMM/jDD').isValid() // true (leap year)
moment('1392/12/30', 'jYYYY/jMM/jDD').isValid() // false (common year)
moment.jIsLeapYear(1391) // true
moment.jIsLeapYear(1392) // false

moment.jDaysInMonth(1395, 11) // 30
moment.jDaysInMonth(1394, 11) // 29

moment('1392/6/3 16:40', 'jYYYY/jM/jD HH:mm').format('YYYY-M-D HH:mm:ss') // 2013-8-25 16:40:00

moment('2013-8-25 16:40:00', 'YYYY-M-D HH:mm:ss').endOf('jMonth').format('jYYYY/jM/jD HH:mm:ss') // 1392/6/31 23:59:59

// Complex parse:
moment('1981 5 17', 'YYYY jM D').format('YYYY/MM/DD') // 1981/07/17

To add Persian language, use loadPersian method:

moment.loadPersian([options])

Options

Param Type Default Description Example
usePersianDigits Boolean false Use persian digits (Use at your own risk) moment.loadPersian({usePersianDigits: true})
dialect * String persian Available values = persian, persian-modern moment.loadPersian({dialect: 'persian-modern'})

*use dialect option to change usePersian dialect, available options are:

  • persian: default dialect(امرداد، آدینه، ...)
  • persian-modern: modern dialect(مرداد، جمعه، ...)

in case getting error 'humanize' of undefined

you should also require locale fa

require('moment/locale/fa')

React Native

To use fromNow() in React Native projects:

import moment from "moment-jalaali";
import fa from "moment/src/locale/fa";
moment.locale("fa", fa);
moment.loadPersian();

Related Projects

react-datepicker2

A simple and reusable Datepicker component for React (with persian jalali calendar support) Demo. created by @mberneti.

react-advance-jalaali-datepicker

A React module, which provides different jalaali (persian) datepicker types such as, range date and time picker, developed base on moment-jalaali. react-advance-jalaali-datepicker created by @A-Kasaaian.

ng-persian-datepicker

ng-persian-datepicker is an angular 8+ date-time picker component for shamsi calendar system with some useful customization settings.

ng-jalali-flat-datepicker

A lightweight angular.js date picker using moment-jalaali is thg303/ng-jalali-flat-datepicker created by @thg303.

pholiday

A library based on moment-jalaali for calculating holidays in Persian calendar is shkarimpour/pholiday created by @shkarimpour.

moment-hijri

Another calendar system plugin for momentjs is moment-hijri created by @xsoh.

vue-persian-datetime-picker

vue-persian-datetime-picker is a vuejs plugin to select jalali date and time, created by @talkhabi.

react-native-general-calendars

react-native-general-calendars is a react-native component with support of gregorian, jalaali and hijri calendar to selectand work with date and time, created by @rghorbani.

imrc-datetime-picker

imrc-datetime-picker is a react component with support of gregorian and jalaali calendar in both english and persian (modern) languages to select and work with date and time, created by @smrsan76.

License

MIT

org.webjars.bower

Jalaali

Jalaali calendar implementation for different languages and platforms.

Versions

Version
0.5.1