GithubHelp home page GithubHelp logo

shobeiry / jalali Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 1.0 69 KB

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

License: GNU General Public License v3.0

Python 100.00%
jalali python date time shamsi shamsi-date jalali-datetime jalali-date jalalidate persian-calendar

jalali's Introduction

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 نام منطقه زمانی -

jalali's People

Contributors

shobeiry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

voria-py

jalali's Issues

Installation problem on conda

Hello,

I tried to install the package on my conda environment by typing:
conda install jalali

But it fails:

$ conda install jalali
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - jalali

Current channels:

  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

Is there any solution?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.