ثبت سفارش

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

تاریخ شمسی یا میلادی را انتخاب کن تا معادلش، روز هفته، تاریخ قمری و فاصله تا امروز را ببینی.

شمسی

میلادی

نتیجه

همه‌چیز داخل مرورگر خودت پردازش می‌شود و هیچ فایل یا کدی به سرور فرستاده نمی‌شود.

تقویم شمسی و میلادی چه فرقی دارند؟

تقویم رسمی ایران (هجری خورشیدی) بر پایه‌ی گردش زمین به دور خورشید است و سال از لحظه‌ی اعتدال بهاری شروع می‌شود. شش ماه اول ۳۱ روز، پنج ماه بعد ۳۰ روز و اسفند ۲۹ روز است و در سال کبیسه ۳۰ روز می‌شود. تقویم میلادی هم خورشیدی است، ولی سالش از اول ژانویه شروع می‌شود و طول ماه‌هایش فرق دارد. برای همین تبدیل این دو با یک عدد ثابت ممکن نیست و نیاز به محاسبه دارد.

معادل اول ماه‌های شمسی

ماه شمسیروزهاشروع تقریبی میلادی
فروردین۳۱۲۱ مارس
اردیبهشت۳۱۲۱ آوریل
خرداد۳۱۲۲ مه
تیر۳۱۲۲ ژوئن
مرداد۳۱۲۳ ژوئیه
شهریور۳۱۲۳ اوت
مهر۳۰۲۳ سپتامبر
آبان۳۰۲۳ اکتبر
آذر۳۰۲۲ نوامبر
دی۳۰۲۲ دسامبر
بهمن۳۰۲۱ ژانویه
اسفند۲۹ یا ۳۰۲۰ فوریه

تاریخ شمسی در جاوااسکریپت

نیازی به کتابخانه‌ی سنگین نیست؛ مرورگرها تقویم شمسی را خودشان می‌شناسند:

const d = new Date();

new Intl.DateTimeFormat('fa-IR', {
  weekday: 'long', day: 'numeric', month: 'long', year: 'numeric'
}).format(d);
// پنجشنبه ۱۴ آبان ۱۴۰۵

new Intl.DateTimeFormat('fa-IR-u-nu-latn', {
  year: 'numeric', month: '2-digit', day: '2-digit'
}).format(d);
// 1405/08/14

تاریخ شمسی در PHP

با افزونه‌ی intl که روی بیشتر هاست‌ها فعال است:

$f = new IntlDateFormatter('fa_IR@calendar=persian', IntlDateFormatter::FULL,
    IntlDateFormatter::NONE, 'Asia/Tehran', IntlDateFormatter::TRADITIONAL);
echo $f->format(time()); // پنجشنبه ۱۴ آبان ۱۴۰۵

برای نمایش عددها به فارسی یا انگلیسی از تبدیل اعداد فارسی کمک بگیر. در پروژه‌های راست‌چین‌سازی و سایت دوزبانه تاریخ‌ها به‌طور خودکار در نسخه‌ی فارسی شمسی و در نسخه‌ی انگلیسی میلادی نمایش داده می‌شوند.

سؤال‌های رایج

تبدیل تاریخ شمسی به میلادی چطور انجام می‌شود؟

سال، ماه و روز شمسی را انتخاب کن؛ تاریخ میلادی، روز هفته و تاریخ قمری همان لحظه نمایش داده می‌شود. برعکسش هم با انتخاب تاریخ میلادی در کادر کناری انجام می‌شود.

این مبدل تا چه سالی دقیق است؟

محاسبه بر پایه‌ی تقویم رسمی ایران و موتور تاریخ خود مرورگر (Intl) است و برای سال‌های ۱۲۰۰ تا ۱۵۰۰ شمسی دقیق است؛ سال‌های کبیسه هم درست حساب می‌شوند.

تاریخ قمری چقدر دقیق است؟

تاریخ قمری با تقویم ام‌القری محاسبه می‌شود و ممکن است با تقویم رسمی ایران که بر اساس رؤیت هلال است یک روز اختلاف داشته باشد.

چطور تاریخ شمسی را در سایت نمایش بدهم؟

تاریخ را در دیتابیس به میلادی یا timestamp نگه دار و فقط هنگام نمایش به شمسی تبدیل کن؛ در جاوااسکریپت با Intl.DateTimeFormat و locale برابر fa-IR و در PHP با IntlDateFormatter و تقویم persian. کد آماده‌اش در همین صفحه هست.

Unix timestamp چیست؟

تعداد ثانیه‌هایی است که از ۱ ژانویه‌ی ۱۹۷۰ به وقت جهانی گذشته؛ مستقل از تقویم و منطقه‌ی زمانی است و بهترین قالب برای ذخیره‌ی زمان در دیتابیس و API است.

طرح فیگما یا XD داری و کد تمیز و دقیق می‌خواهی؟ تبدیل فیگما به HTML ←
زمان و قیمت ثبت سفارش