تبدیل تاریخ میلادی به شمسی یا بالعکس در جاوا اسکریپت

تبدیل تاریخ میلادی به شمسی یا بالعکس در جاوا اسکریپت

تاریخ میلادی به شمسی javascript – با 2 روش می توانیم تاریخ ها را تبدیل کنیم البته در روش اول از Intl.DateTimeFormat استفاده می کنیم که فقط امکان تبدیل تاریخ میلادی به شمسی وجود دارد و برعکس آن امکان پذیر نمی باشد .

در روش دوم از کتابخانه Farvardin.js استفاده می کنیم که امکان تبدیل 2 تاریخ به یکدیگر وجود دارد .

روش اول استفاده از Intl.DateTimeFormat

const today = Date.now();

const todayFa = {
	"day" : getDateFormat(today , {"day" : "2-digit"}),
	"month" : getDateFormat(today , {"month" : "numeric"}),
	"monthTitle" : getDateFormat(today , {"month" : "long"}),
	"year" : getDateFormat(today , {"year" : "numeric"}),
	"dayWeek" : getDateFormat(today , {"weekday" : "long"}),
}

function getDateFormat(uDate,option){
	let date = new Intl.DateTimeFormat('fa-IR', option).format(uDate);
	return date;
} 

console.log(todayFa);

/*
{
  day: "۰۱",
  dayWeek: "جمعه",
  month: "۱۱",
  monthTitle: "بهمن",
  year: "۱۴۰۰"
}
*/


روش دوم استفاده از کتابخانه farvardin.js

ابتدا کتابخانه را اضافه کنید .

<script src="static/js/lib/farvardin.min.js"></script>


تبدیل از تاریخ شمسی به میلادی

حال برای تبدیل از تاریخ شمسی به میلادی از کد های زیر می توانیم استفاده کنیم به نوع خروجی متفاوت :

console.log(farvardin.solarToGregorian(1399 , 1 , 25));  // [2020 , 4 , 13]
console.log(farvardin.solarToGregorian(1399 , 1 , 25 , "array")); // همان خروجی بالا

همچنین امکان استفاده به جای آرایه از نوع های دیگری هم وجود دارد :

  1. string
  2. object
  3. json


تبدیل از تاریخ میلادی به شمسی

console.log(farvardin.gregorianToSolar(2020 , 4 , 13 , "string")); // 1399-01-25
console.log(farvardin.gregorianToSolar(2020 , 4 , 13 , "object")); // { year: 1399, month: 1, day: 25 }
console.log(farvardin.gregorianToSolar(2020 , 4 , 13 , "json")); // {"year":1399,"month":1,"day":25}

gist مقاله

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us

انجام انواع پروژه های وب


( فروشگاهی ، خبری ، رزرواسیون ، وردپرس ، حل مشکلات وردپرسی )

شماره تماس و واتساپ : 09398554859