Skip to content

Latest commit

 

History

History
206 lines (161 loc) · 8.18 KB

README.md

File metadata and controls

206 lines (161 loc) · 8.18 KB

zaravand-jallali-date

calculate gregorian date to jallali date and reverse

تاریخ جلالی زراوند یک کتابخانه براساس زبان جاوااسکریپت در محیط اجرایی نود است، که جهت تبدیل تاریخ میلادی به شمسی و بلعکس می‌توان از آن استفاده کرد.

از آنجایی که بیشتر کاربران این کتابخانه فارسی زبان هستند، تا حد امکان سعی شده اسناد آن به زبان فارسی تهیه شود.

نصب

برای نصب این کتابخانه می‌توانید از سیستم مدیرت بسته نود (npm) استفاده کنید:

    npm install zaravand-jallali-date

درصورتی که از yarn برای نصب استفاده می‌کنید:

    yarn add zaravand-jallali-date

استفاده سریع

جهت استفاده سریع از این کتابخانه و تبدیل تاریخ مورد نظر خود، کافی‌ست دستورالعمل زیر را به کار بگیرید

    const Zaravand = require("zaravand-jallali-date");
    // [or] import Zaravand from "zaravand-jallali-date";

    const _date = new Zaravand();

    //to jallali
    let result =  _date.convert("2019/7/12", "fa");  // 1398/04/21   

    // to gregorian
    let result =  _date.convert("1398/04/21", "en");  // 2019/07/12 
جدا کننده‌های زیر برای تاریخ ورودی قابل قبول‌اند

seprator exampele
/ 1398/01/01
\ 1398\01\01
[space] 1398 01 01
( - ) 1398-01-01
( _ ) 1398_01_01

آموزش قدم به قدم

1. فراخوانی کتابخانه - ابتدا با استفاده از دستور زیر کتابخانه را به کدهای خود اضافه کنید
    const Zaravand = require("zaravand-jallali-date");
    // [or] import Zaravand from "zaravand-jallali-date";
2. ایجاد یک شی از کلاس زراوند
    const _date = new Zaravand();
3. استفاده از متد convert

در شی تعریف شده یک متد با نام convert وجود دارد که وظیفه تبدیل تاریخ به عهده آن است این متد، 3 پارامتر به عنوان ورودی می‌گیرد که سومین پارامتر اختیاری بوده و برحسب نیاز شما وارد می‌شود

آرگومان نخست : تاریخ مورد نظر (اجباری)
این آرگومان از نوع رشته بوده و بایستی ساختاری متناسب با استانداردهای جهانی داشته باشد- در کتابخانه زراوند سعی شده تمامی ساختارهای رایج نمایش تاریخ و زمان در نظر گرفته شود ازین رو جای نگرانی وجود ندارد(جدول کامل این ساختارها در ادامه آموزش آمده است) - درصورتی که تاریخ ورودی ساختاری غیر قابل فهم برای کتابخانه داشته باشد خروجی null برگردانده می‌شود.

آرگومان دوم : نوع تبدیل (اجباری)
این آرگومان از نوع رشته است و نوع تبدیل تاریخ برای کتابخانه را مشخص می‌کند- تبدیل از میلادی به شمسی یا شمسی به میلادی
برای تبدیل به شمسی ---> fa
برای تبدیل به میلادی ---> en

آرگومان سوم : ساختار خروجی (اختیاری)
درصورتی که تمایل داشتید ساختار خروجی را خود تایین کنید می‌توانید از این آرگومان استفاده کنید - تمامی ساختار های خروجی در ادامه آمده است می‌توانی از آن‌ها بهره ببرید.

    let result =  _date.convert("date", "kind" , "format");
جدول آرگومان‌های ورودی به متد convert
Name type amount deafult
date string - -
kind string "fa" or "en" -
output format string - "yyyy/mm/dd"
لیست کامل فرمت‌ها :
فرمت‌های زیر قابل استفاده برای آرگومان date و output format می‌باشند - توجه داشته باشید که فرمت‌های ستاره دار فقط مخصوص آرگومان output format هستند

number formats example
1 YYYY/MM/DD 2019/07/12
2 DD/MM/YYYY 12/07/2019
3 YYYY/MMM/DD 2019/July/12
4 DD/MMM/YYYY 12/July/2019
5 MMM/YYYY July/2019
6 YYYY/MMM 2019/July
7 YYYY/MM/DD/WW 2019/07/12 - Friday
8 YYYY/MMM/DD/WW 2019/July/12 - Friday
9 YYYY/MM/DDTHH:MM:SS 2019/07/12T12:20:30
10 DD/MM/YYYYTHH:MM:SS 12/07/2019T12:20:30
11 YYYY/MM/DDTHH:MM:SS.S 2019/07/12T12:20:30.134
12 DD/MM/YYYYTHH:MM:SS.S 12/07/2019T12:20:30.134
13 HH:MM:SS * 00:00:00
14 HH:MM * 00:00
15 RAW * object
مثال

syntax output format result
_date.convert("2019/7/12", "fa" , "DD/MM/YYYY") "DD/MM/YYYY" 21/04/1398
_date.convert("2019/7/12", "fa" , "YYYY/MMM/DD") "YYYY/MMM/DD" 1398/تیرl/21
_date.convert("2019/7/12", "fa" , "DD/MMM/YYYY") "DD/MMM/YYYY" 21/تیرl/1398
_date.convert("2019/7/12", "fa" , "MMM/YYYY") "MMM/YYYY" تیرl/1398
_date.convert("2019/7/12", "fa" , "YYYY/MMM") "YYYY/MMM" تیر/1398
_date.convert("2019/7/12", "fa" , "YYYY/MM/DD/WW") "YYYY/MM/DD/WW" 1398/04/21 - جمعه
_date.convert("2019/7/12", "fa" , "YYYY/MMM/DD/WW") "YYYY/MMM/DD/WW" 1398/تیرl/21 - جمعه
_date.convert("2019/7/12T22:22:22.12", "fa" , "YYYY/MM/DDTHH:MM:SS") "YYYY/MM/DDTHH:MM:SS" 1398/04/21T22:22:22
_date.convert("2019/7/12T22:22:22.12", "fa" , "DD/MM/YYYYTHH:MM:SS") "DD/MM/YYYYTHH:MM:SS" 21/04/1398T22:22:22
_date.convert("2019/7/12T22:22:22.12", "fa" , "YYYY/MM/DDTHH:MM:SS.S") "YYYY/MM/DDTHH:MM:SS.S" 1398/04/21T22:22:22.12
_date.convert("2019/7/12T22:22:22.12", "fa" , "DD/MM/YYYYTHH:MM:SS.S") "DD/MM/YYYYTHH:MM:SS.S" 21/04/1398T22:22:22.12
_date.convert("2019/7/12T22:22:22.12", "fa" , "HH:MM:SS") "HH:MM:SS" * 22:22:22
_date.convert("2019/7/12T22:22:22.12", "fa" , "HH:MM") "HH:MM" * 22:22
_date.convert("2019/7/12T22:22:22.12", "fa" , "RAW") "RAW" * {Month: "تیر",day: 21,dweek: "جمعه",hour: 22,minute: 22,month: 4,second: 22.12,year: 1398,numeric: 1562953942120}
4. استفاده از متدهای خاص

ممکن است شما بخواهید از یک تاریخ ورودی فقط سال، ماه، روز یا نام هفته را بیرون بکشید. در این صورت کافی است از متدهای زیر استفاده کنید
آرگومان‌های ورودی در این متدها کاملا شبیه متد convert بوده با این تفاوت که آرگومان سوم در این توابع وجود ندارد.

method name syntax result
year _date.year(Date(),"fa") 1398
Month _date.Month(Date(),"fa") تیر
month _date.month(Date(),"fa") 4
day _date.day(Date(),"fa") 21
week _date.week(Date(),"fa") جمعه
numeric _date.numeric(Date(),"fa") 1563203865000

خطا یابی

در این کتابخانه در صورتی که خطایی در آرگومان‌های ورودی موجود باشد، نوع خطا در لاگ نمایش داده می‌شود.

پیوند

read-more