Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Parse and interact with jalali date

License

NotificationsYou must be signed in to change notification settings

SaeedDev94/jalali-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parse and interact with jalali date
This lib inspired bymoment-jalaali
Thanks to all contributors

Why jalali-ts?

You may ask yourself we already havemoment-jalaali which is even more powerful in some cases!

So whyjalali-ts?
Becausemoment is a legacy project and according to its document you should avoid using it in the new projects!

Pros:

  • No dependencies!
  • TypeScript
  • Modern JavaScript (ES2020)

Cons:

  • Limitation for parsing input date
  • Limitation for output format

Install

npm install jalali-ts

Supported formats

  • YYYY year
  • MM month
  • DD date
  • HH hours (standard 24h)
  • hh hours (12h format)
  • mm minutes
  • ss seconds
  • SSS milliseconds
  • a meridian (am, pm)
  • A meridian (AM, PM)
import{Jalali}from'jalali-ts';Jalali.now().format('YYYY/MM/DD hh:mm:ss A');

Parse date

To parse a jalali date you should followyear month date [hours minutes seconds ms] pattern:

import{Jalali}from'jalali-ts';constjalali=Jalali.parse('1398/12/04');jalali.valueOf();// 1582403400000jalali.gregorian();// 2020-02-23 00:00:00jalali.toString();// 1398/12/04 00:00:00jalali.isLeapYear();// falsejalali.monthLength();// 29jalali.add(2,'month').add(1,'week');// 1399/02/11 00:00:00jalali.startOf('week');// 1399/02/06 00:00:00jalali.dayOfYear();// 37jalali.endOf('year');// 1399/12/30 23:59:59jalali.isLeapYear();// truejalali.add(1,'day').startOf('day');// 1400/01/01 00:00:00constdateTime=Jalali.parse('1398/12/04 02:30:07:05 PM');dateTime.valueOf();// 1582455607050dateTime.getHours();// 14dateTime.getMinutes();// 30dateTime.getSeconds();// 7dateTime.getMilliseconds();// 50dateTime.gregorian('YYYY-MM-DD HH:mm:ss.SSS');// 2020-02-23 14:30:07.050constdateTimeNoMilliseconds=Jalali.parse('1398/12/04 02:30:07:05 PM',false);dateTimeNoMilliseconds.valueOf();// 1582455607000dateTimeNoMilliseconds.getMilliseconds();// 0dateTimeNoMilliseconds.gregorian('YYYY-MM-DD HH:mm:ss.SSS');// 2020-02-23 14:30:07.000

Time Zone

If you rely on timestamp please make sure your environment time zone is correct:

process.env.TZ='UTC';// The default time zone for servers!+Jalali.parse('1399-02-02 08:30:00 PM');// 1587501000000process.env.TZ='Asia/Tehran';+Jalali.parse('1399-02-02 08:30:00 PM');// 1587484800000

As you can see there is16200000 ms offset (UTC+04:30) for a same datetime string!
jalali-ts checks your system time zone and if it's not equal toJalali.defaultTimeZone = 'Asia/Tehran' it will print a warning about it.
To disable time zone check:

Jalali.checkTimeZone=false;

If you want to change time zone value:

Jalali.timeZone='Asia/Kabul';

Note
If running env is nodeJalali.timeZone = 'value'
Will change system time zone!
If you don't wantjalali-ts touch your system time zone (node process):

Jalali.setTimeZone=false;

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp