SkillAgentSearch skills...

Jalali

This Package Helps Developers To Easily Work With Jalali (Shamsi Or Iranian) Dates In Python applications.

Install / Use

/learn @shobeiry/Jalali

README

GitHub Downloads PyPI - Downloads

Jalali

Install

pip install jalali

Basic Usage

For Start Import Jalalian Library To Your Code Then Use:

from jalali.Jalalian import jdate, JDate

jd = JDate()
jd.format('Y/m/d H:i:s')
jd = JDate('2017-02-01 21:38:48')
jd.format('Y/m/d H:i:s')  # ۱۳۹۵/۱۱/۱۳ ۲۱:۳۸:۴۸
jd.add(years=3, months=2)
jd.format('Y/m/d H:i:s')  # ۱۳۹۹/۰۱/۱۵ ۲۱:۳۸:۴۸
jd.sub(years=1, months=5, hours=10)
jd.format('Y/m/d H:i:s')  # ۱۳۹۷/۰۸/۰۹ ۱۱:۳۸:۴۸

jd = JDate('1398-02-01 21:38:48', False)
jd.format('Y/m/d H:i:s')  # ۱۳۹۸/۰۲/۳۱ ۲۱:۳۸:۴۸
jd.add(years=3, months=2)
jd.format('Y/m/d H:i:s')  # ۱۴۰۱/۰۴/۳۰ ۲۱:۳۸:۴۸
jd.sub(years=1, months=5, hours=10)
jd.format('Y/m/d H:i:s')  # ۱۳۹۹/۱۱/۲۸ ۱۱:۳۸:۴۸

# نکته: اهمّیّت حروف بزرگ و کوچک در نام تابع و کاراکترهای پارامترها  
jdate('E') # بهمن  
jdate('e') # زمستان  
  
# ترکیب دو یا چند کاراکتر با حروف اضافه در یک خروجی  
jdate('H i s') # 10 26 53  
jdate('H:i:s') # 10:26:53  
jdate('Y/n/j') # 1389/11/22  
jdate('Y E j') # 22 بهمن 1389
jdate('V E J') # بیست و دو بهمن هزار و سیصد و هشتاد و نه  
  
# خارج کردن بعضی از کاراکترها یا حروف ، به صورت خام و تبدیل نشده با گذاشتن \ قبل از آن ها  
# منظور از کاراکتر ، تمامی حروف بزرگ و کوچک انگلیسی است که در جدول مربوطه نیز فهرست شده اند  
jdate('H:i:s') # 10:26:53  
jdate(r'H:\i:s') # 10:i:53  
jdate(r'H : \i\r\a\n') # 10 : iran  
jdate(r'\HH') # H10  
jdate(r'H\H') # 10H  
jdate(r'H\ H') # 10 10  
jdate(r'\HH\H') # H10H  
jdate(r'\H\o\u : H _ \M\i\n : i _ \S\e\c : s') # Hou : 10 _ Min : 26 _ Sec : 53  
  
# نکته: قبل از کاراکترهای خاص مثل ' و " حتماً از \ استفاده شود  
jdate(r" \" H \" ") # " 10 "  
jdate(r' \' H \' ') # ' 10 '  
  
# البتّه بستگی به شرایط دارد  
jdate(' " H " ') # " 10 "  
jdate(" ' H ' ") # ' 10 '  
  
# برای خارج کردن خام خود کاراکتر \ از یک \ در قبل از آن استفاده شود  
jdate(r'\\\\') # \\  
jdate(r'\\\\H') # \\10  
jdate(r'\\\\\H') # \\H  
  
# ترکیب حروف اضافه با کلمات خروجی  
jdate('E') # بهمن  
  
jdate('Eماه') # بهمنماه  
  
jdate('E ماه') # بهمن ماه 
  
jdate('ماه E') # ماه بهمن  
  
jdate('J') # بیست و دو  
  
jdate('Jم') # بیست و دوم  
  
jdate('Jمین') # بیست و دومین  
  
jdate('امروز : Jم E است') # امروز : بیست و دوم بهمن است  
  
jdate('امروز l است') # امروز جمعه است  
  
# مرتّب کردن ترکیب حروف و اعداد اضافه در خروجی با ساختار پیچیده  
# ترکیب های پیچیده ، ممکن است نامرتّب یا جا به جا ، نمایش داده شوند.  
# حتماً آن ها را در بین تگ <span dir=ltr></span> قرار دهید. (چپ به راست)  
# چند الگوی کاربردی زیر ، از قبل مرتّب شده اند. می توانید از این ها استفاده نمایید.  
# این الگوها را می توانید ویرایش کنید. حتماً بین تگ <span dir=ltr></span> قرار گیرند.  
  
jdate('c') # ۱۳۹۰/۱۱/۲۲ ,۱۰:۲۶:۵۳ +۰۳:۳۰  
  
jdate('r') # ۱۰:۲۶:۵۳ +۰۳۳۰ جمعه, ۲۲ بهمن ۱۳۹۰  
  
jdate('H:i:s O ,l, j E Y') # ۱۰:۲۶:۵۳ +۰۳۳۰ ,جمعه, ۲۲ بهمن ۱۳۹۰  
  
jdate('H:i:s P | l, j / E / Y') # ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ / بهمن / ۱۳۹۰  
  
jdate('H:i:s P | l, j E Y') # ۱۰:۲۶:۵۳ +۰۳:۳۰ | جمعه, ۲۲ بهمن ۱۳۹۰  
  
jdate('l, J / E / V') # جمعه, بیست و دو / بهمن / هزار و سیصد و هشتاد و نه  
  
jdate('l, J E V') # جمعه, بیست و دو بهمن هزار و سیصد و هشتاد و نه  
  
jdate('H:i:s P ,Y/n/j') # ۱۰:۲۶:۵۳ +۰۳:۳۰ ,۱۳۹۰/۱۱/۲۲  
  
jdate('H:i:s ,Y/n/j') # ۱۰:۲۶:۵۳ ,۱۳۹۰/۱۱/۲۲  
  
jdate('H:i:s Z ,Y/n/j') # ۱۰:۲۶:۵۳ Asia/Tehran ,۱۳۹۰/۱۱/۲۲

Format Help

| Character | Result | Range | |--|--|--| |a| اوقات روز - به صورت خلاصه | ق.ض - ب.ض | |A| اوقات روز - به صورت کامل| قبل از ظهر - بعد از ظهر | |b|شماره ی فصل (ربع) از سال|1 - 4| |c| تاریخ با قالب Y/n/j ,H:i:s P |-| |C| شماره ی قرن هجری شمسی|... , 15 , 14 , ...| |d| شماره ی روز از ماه|1 - 31| |e|نام فصل| بهار - زمستان| |E|نام ماه|فروردین - اسفند| |f|میکرو ثانیه|000000 - 999999| |i|دقیقه|00 - 59| |j|شماره روز از ماه| 1 - 31| |J|شماره ی روز از ماه به حروف|یک - سی و یک| |k|درصد باقیمانده از سال|0 - 100| |K|درصد گذشت از سال|0 - 100| |l|نام روز در هفته|شنبه - جمعه| |L|سال: 0-غیر کبیسه 1- کبیسه|0 - 1| |m|شماره ماه (دو رقمی)|01 - 12| |M|نام ماه به صورت خلاصه|فر - اسـ| |n|شماره ماه|1 - 12| |N|عدد روز هفته (1 = یکشنبه)|1 - 7| |o|سال هفته ای (به عدد) چهار رقمی|شماره ی سال| |O|":" اختلاف ساعت جهانی - بدون|+1400 , +1200| |p|نام باستانی برج ها|حمل - حوت| |P|اختلاف ساعت جهانی|-| |q|نام حیوانی سال ها|موش - خوک| |Q|تعداد روز (کامل) باقی مانده از سال |365 - 0| |r|تاریخ با قالب مرکب H:i:s O Y E j ,l |-| |s|شماره ثانیه در دقیقه|0 - 59| |S|چاپ "ام"|ام| |t|تعداد روز های ماه|29, 30, 31| |U|timestamp (Unix) برچسب زمانی|-| |v|سال به حروف| - نود و نه| |V|سال به حروف - کامل|-| |w|عدد روز در هفته - شنبه = 0|0 - 6| |W|شماره ی این هفته در سال|0 - 53| |y|سال به عدد (2 رقمی)|00 - 99| |Y|سال (به عدد) چهار رقمی|-| |z|تعداد روز های گذشته از سال|0 - 365| |Z|نام منطقه زمانی|-|

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated2y ago
Forks1

Languages

Python

Security Score

80/100

Audited on Feb 16, 2024

No findings