ارزانترین‌ها پرفروش‌ها بهترین محصولات گوشی آموزش آشپزی
×
لیست پرفروش ترین گوشی ایران
مشاهده قیمت

تبدیل تاریخ شمسی به میلادی php + فیلم آموزش زبان php

تبدیل تاریخ شمسی به میلادی php + فیلم آموزش زبان php

در این پست قصد داریم درباره تبدیل تاریخ شمسی به میلادی php صحبت کنیم. به احتمال زیاد با زبان برنامه نویسی PHP آشنا هستید. کسانی که طراح وب هستند یا برنامه نویسی انجام می‌دهند می‌دانند که زبان برنامه نویسی PHP یک زبان سمت سرور است و با استفاده از آن می‌توان وب سایت‌های ایستا یا Dynamic ایجاد کرد. قبل از هرچیز می‌خواهیم یک آشنایی کوتاه با زبان برنامه نویسی PHP داشته باشیم و ببینیم PHP چیست، سپس با استفاده از این زبان نحوه تبدیل تاریخ شمسی به میلادی در زبان برنامه نویسی PHP را توضیح خواهیم داد.

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

کسانی که با دنیای طراحی وب سر و کار دارند حتماً نام زبان برنامه نویسی PHP را شنیده‌اند. پی اچ پی یک زبان برنامه نویسی سمت سرور و شیءگرا است. اینکه می‌گوییم زبان سمت سرور به دلیل این است که زبان پی اچ پی در سرور پردازش و سپس اجرا می‌شوند، سپس نتیجه پردازش برای به نمایش درآمدن در مرورگر به HTML تبدیل می‌شوند.

از آنجایی که در کامپیوترهای شخصی سرور وجود ندارد، برای به نمایش درآوردن صفحات PHP باید از شبیه ساز سرور استفاده کنیم. شبیه ساز سرور یک نرم افزار است که در سیستم عامل نصب می‌شود و این امکان را فراهم می‌آورد تا بتوانیم فایل‌های PHP را در کامپیوتر اجرا کنیم. از نمونه این نرم افزارها می‌توان به Xampp و Wamp اشاره کرد. زبان پی اچ پی چند پلتفرمی است و می‌تواند در چندین سیستم عامل نظیر ویندوز، لینوکس و مک اجرا شود. یکی دیگر از مهم ترین مزایای زبان برنامه نویسی PHP در این است که متن باز است و همه می‌توانند آن را دریافت کنند.

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

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

برای تبدیل تاریخ شمسی به میلادی باید بدانیم که سال شمسی 622 سال کمتر از سال میلادی است. از طرفی باید بدانید که سال شمسی هر چهار سال یک بار (سال‌هایی که عدد سال را بر 4 تقسیم کنیم و باقی مانده 3 باشد، مانند سال 1399) اتفاق می‌افتد. دلیل این اتفاق این است که هر سال شمسی 365 روز و 6 ساعت است که در هر سال این 6 ساعت حساب نمی‌شود ولی بعد 4 سال این 6 ساعت در کنار هم جمع شده و یک روز 24 ساعته را تشکیل می‌دهد و بنابراین هر 4 سال یکبار، سال شمسی 366 روز خواهد بود که به آن سال کبیسه می‌گویند. هر سال اسفند ماه 29 روز است اما در سالی که کبیسه باشد اسفند 30 روز محاسبه می‌شود. شروع اول سال، اولین روز از بهار یعنی 1 فروردین است. اما آیا برای سال میلادی نیز همینطور است؟

سال میلادی نیز 365 روز است که 7 ماه آن 31 روز و 4 روز آن 30 روزه است. در تاریخ میلادی، سال‌هایی کبیسه هستند که بر عدد 4 بخش پذیر باشد و از طرفی نیز مضرب 100 نباشد. ماه فوریه از تقویم میلادی در حالت عادی 28 روز است و در صورتی که کبیسه باشد 29 روز خواهد بود. ابتدا برای محاسبه تاریخ میلادی می‌بایست 621 سال را به تاریخ شمسی اضافه کنیم. این تاریخ در روزهای 1 فروردین تا 10 دی اضافه می‌شود. در روزهای 11 دی تا آخر سال شمسی نیز 622 سال باید اضافه گردد. برای مثال برای محاسبه سال 1399 به میلادی می‌بایست در نظر بگیریم که تاریخ مدنظر ما قبل از 11 دی است یا خیر؟ اگر بر فرض قبل از 11 دی باشد، 621 روز را با 1399 جمع می‌کنیم که نتیجه سال 2020 خواهد شد.

برای تبدیل روز شمسی به میلادی نیز همانند روش تبدیل تاریخ شمسی به میلادی php می‌توان محاسبه را انجام داد. سال شمسی 226899 روز کمتر از سال میلادی است که با حساب کردن می‌توان روز معادل میلادی را به دست آورد. حال با توجه به اینکه ماه‌های میلادی برخلاف ماه‌های قمری ثابت هستند می‌توانیم ماه را نیز به دست آوریم. با دانستن اینکه کدام یک از ماه‌های میلادی 31 روز و کدام 30 روزه هستند، میتوان ماه میلادی را به دست آورد.

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

تبدیل تاریخ شمسی به میلادی به صورت دستی کار وقت گیر و گاهاً مشکلی است زیرا سال کبیسه‌ی خورشیدی با سال کبیسه‌ی میلادی برابر نیست، به همین منظور می‌توان از ابزارهای مختلفی استفاده کرد که یکی از آن‌ها نوشتن یک برنامه به زبان PHP است. ابزارهای مختلفی برای تبدیل تاریخ شمسی به میلادی php وجود دارد که استفاده کردن از هرکدام ابزارها روش به خصوص خود را دارد. اما ما در این پست از یک تابع به نام jalali_to_gregorian استفاده می‌کنیم که این تابع در داخل فایل jdf وجود دارد (توجه کنید که این تابع ورژن‌های مختلفی دارد و ما تنها از ورژن سبک نسخه 2.80 استفاده کرده‌ایم). برخی این فایل را کتابخانه می‌نامند درحالی که تنها یک تابع (function) می‌باشد و یک تابع فقط از چند دستور مختلف تشکیل شده است. این فایل را می‌توانید با جستجو کردن jalali to gregorian jdf در گوگل دانلود نمایید. پس از دانلود کردن فایل می‌بایست کاربرد هر کدام از پارامترهای تابع را بدانید. در ادامه مطلب تبدیل تاریخ شمسی به میلادی php به توضیح این پارامترها می‌پردازیم.
تبدیل تاریخ شمسی به میلادی php

پارامترهای تابع jalali_to_gregorian

چنانچه موفق به دانلود تابع نشدید اشکالی ندارد! کدهای این تابع در زیر آورده شده است:
function jalali_to_gregorian($jy, $jm, $jd, $mod="") {
$jy += 1595;
$days = -355668 + (365 * $jy) + (((int)($jy / 33)) * 8) + ((int)((($jy % 33) + 3) / 4)) + $jd + (($jm < 7)? ($jm - 1) * 31 : (($jm - 7) * 30) + 186);
$gy = 400 * ((int)($days / 146097));
$days %= 146097;
if ($days > 36524) {
$gy += 100 * ((int)(--$days / 36524));
$days %= 36524;
if ($days >= 365) $days++;
}
$gy += 4 * ((int)($days / 1461));
$days %= 1461;
if ($days > 365) {
$gy += (int)(($days - 1) / 365);
$days = ($days - 1) % 365;
}
$gd = $days + 1;
$sal_a = array(0, 31, (($gy % 4 == 0 and $gy % 100 != 0) or ($gy % 400 == 0))?29:28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
for ($gm = 0; $gm < 13 and $gd > $sal_a[$gm]; $gm++) $gd -= $sal_a[$gm];
return ($mod == "")? array($gy, $gm, $gd) : $gy.$mod.$gm.$mod.$gd;
}
برای تبدیل کردن تاریخ شمسی به میلادی می‌بایست سه مقدار را وارد برنامه کنیم تا پاسخ بگیریم. این سه مقدار شامل سال، ماه و روز می‌باشد. این سه پارامتر باید به صورت دستی وارد شوند تا پس از انجام دادن برخی عملیات، تبدیل به تاریخ میلادی گردد. سه پارامتری که در برنامه وجود دارند عبارتند از:
  • jy$: اشاره به سال شمسی دارد. این تاریخ باید به صورت کامل وارد شود.
  • jm$: اشاره به ماه شمسی دارد که می‌تواند رقمی بین 1 تا 12 باشد.
  • jd$: اشاره به روز شمسی دارد که می‌تواند رقمی بین 1 تا 31 باشد.
مورد چهارم که با نام mod$ نوشته شده است اشاره به نحوه نمایش تاریخ دارد. این پارامتر تعیین می‌کند تا تاریخ با استفاده از چه کاراکتری از هم جدا شود. می‌توان از کارکتر / یا - برای جدا کردن ارقام سال، ماه و روز استفاده کرد. حتی می‌توانید یک فاصله بگذارید اما باید دقت کنید که این پارامتر خالی نباشد. در ادامه یک مثال برای این پارامتر خواهیم زد.

نحوه تبدیل تاریخ شمسی به میلادی php

در ادامه مواردی که در بالا توضیح دادیم به صورت کد نوشته شده است. ابتدا تاریخ شمسی به میلادی محاسبه می‌شود و عملیات حساب کردن سال کبیسه صورت می‌گیرد؛ و در نهایت مقدار تبدیل شده در تابع jalali_to_gregorian ذخیره می‌گردد. برای اینکه بتوانیم یک سال شمسی را به برنامه وارد کنیم و نتیجه را مشاهده کنیم، ابتدا باید یک فایل PHP ایجاد کنیم و تابع jalali_to_gregorian را فراخوانی کنیم. به این منظور یک فایل پی اچ پی به نام convert را ایجاد کنید و کدهای زیر را در داخل فایل بنویسید:
require_once("lib/jdf.php");
$date = jalali_to_gregorian(1400, 1, 1, "/");
echo $date;
حتماً می‌دانید که برای اجرای این فایل به نرم افزار زمپ نیاز دارید. در ادامه ابتدا فایل jdf.php را با استفاده از پارامتر require_once به پروژه اضافه کرده‌ایم (فایل jdf.php باید در داخل یک پوشه و در کنار فایل اصلی قرار گیرد). اگر فایل را دانلود کرده‌اید آن را داخل یک پوشه به نام lib قرار دهید به صورتی که پوشه و فایل در داخل یک پوشه واحد باشند. اگر فایل jdf.php را دانلود نکرده‌اید می‌توانید کدهای این تابع را از بالا کپی کنید و خودتان به صورت دستی یک فایل PHP ایجاد کنید و کدها را در داخل فایل قرار دهید.

در ادامه توضیح کدهای بالا یک متغیر به نام date ایجاد کرده‌ایم که برابر است با تابع jalali_to_gregorian. حال مقداردهی باید انجام شود که این مقداردهی شامل 4 آیتم خواهد بود: سال، ماه، روز و یک کارکتر برای جدا کردن سه مقدار قبلی از همدیگر. در نهایت نیز با پارامتر echo محتویات داخل متغیر date چاپ خواهد شد.
تبدیل تاریخ شمسی به میلادی php به صورت گرافیکی

تبدیل تاریخ شمسی به میلادی php به صورت گرافیکی

ممکن است بخواهید که کار تبدیل کردن تاریخ شمسی به میلادی را به صورت گرافیکی انجام دهید. مثلاً یک صفحه وب طراحی کنید که دارای سه کادر متنی باشد و بتوانید با وارد کردن سه مقدار و فشردن دکمه تبدیل، عملیات تبدیل کردن انجام شود. برای این کار می‌بایست از زبان HTML استفاده نمایید. اگر کار کردن با این زبان را بلد نیستید اشکالی ندارد! در این بخش می‌خواهیم منابع معتبری را برای شما معرفی کنیم که می‌توانید با استفاده از آن‌ها طراحی وب را به صورت حرفه‌ای یاد بگیرید.
برای شروع ابتدا باید نرم افزار زمپ (Xampp) را نصب نمایید. این نرم افزار یک شبیه ساز سرور است که با استفاده از آن می‌توانید فایل‌های PHP را در سیستم اجرا کنید و نتیجه را مشاهده کنید. پس از آن که زمپ را نصب کردید می‌بایست به مسیر زیر در سیستم خود بروید.

C:xampphtdocs

در این مسیر یک پوشه با نام دلخواه ایجاد کنید. نام این پوشه را به خاطر بسپارید زیرا برای اجرا به نام این پوشه احتیاج خواهیم داشت. برای مثال در این مقاله نام پوشه را date قرار داده‌ایم. پس از اینکار نرم افزار زمپ را باز کنید و دو گزینه Apache و MySQL را استارت (Start) بزنید. حال کافیست نرم افزار زمپ را minimize کنید و یک مرورگر را باز کنید. برای دسترسی به پوشه‌های داخل htdocs تنها کافیست که در نوار آدرس مرورگر خود آدرس http://localhost/ را وارد کنید و در ادامه آدرس نام پوشه را بنویسید؛ مانند زیر:

http://localhost/date

از این پس می‌توانید تنها با یک رفرش (refresh) نتیجه را مشاهده کنید. البته در حال حاضر پوشه خالی است و نتیجه‌ای مشاهده نخواهید کرد. حال باید یک صفحه وب در داخل پوشه date ایجاد کنید. برای این کار یک فایل HTML به نام index ایجاد کنید. همانطور که می‌دانید یک فایل HTML یک ساختار کلی دارد که باید در تمامی فایل‌های HTML رعایت شود. بنابراین قبل از هر چیزی کدهای زیر را در داخل فایل HTML قرار دهید.
< !DOCTYPE HTML >
< html >
< head >< /head >
< body >
< /body >
< /html >
با ذخیره کردن فایل index و رفرش کردن مرورگر متوجه خواهید شد که فایل اجرا می‌شود اما خالی است. برای اینکه یک کاربر بتواند در داخل کادر متنی اعداد مدنظر خود را وارد کند می‌بایست داخل فایل index یک فرم طراحی کنید. برای این کار از تگ
استفاده می‌شود. تگ فرم یک ویژگی دارد که می‌توانید یک action برای آن تعریف کنید تا در صورت کلیک روی دکمه ثبت به صفحه PHP موردنظرتان ارسال شود. از طرفی برای ایجاد کادر متنی می‌بایست از تگ < input > استفاده کنید. برای هر تگ input می‌توان یک ویژگی name اضافه کرد تا به راحتی بتوان به مقدار وارد شده در کادر دسترسی پیدا کرد. برای سال مقدار y، برای ماه مقدار m و برای روز مقدار d وارد کرده‌ایم. کدهای زیر را در داخل < body > بنویسید.
< form action="convert.php" method="post" >
year: < input type="number" name="y" >
month: < input type="number" name="m" >
day: < input type="number" name="d" >
< input type="submit" value="submit" >
< /form >
محتویات فایل convert.php که به فرم پیوست شده است همان کدهایی است که در بالا نوشتیم. فقط این بار به جای وارد کردن اعداد به صورت دستی، متغیرهایی که در فایل index برای هر کادر متنی تعریف کرده‌ایم فراخوانی خواهیم کرد. بدین ترتیب مقادیری که در داخل کادرهای متنی وارد می‌شوند فراخوانی خواهند شد. یک فایل convert.php در داخل همان پوشه date ایجاد کنید و کدهای زیر را در داخل آن بنویسید:
require_once("lib/jdf.php");
$date = jalali_to_gregorian($_POST["y"], $_POST["m"], $_POST["d"], "/");
echo $date;
مجدداً در همان مسیر یک پوشه ایجاد کنید و نام آن را lib قرار دهید. فایل jdf.php که دانلود کرده‌اید یا خودتان ایجاد کرده‌اید در داخل پوشه lib قرار دهید. به مرورگر بروید و صفحه را رفرش کنید. چه می‌بینید؟
تبدیل تاریخ شمسی به میلادی php
حال باید در داخل سه کادر متنی سه مقدار برای سال، ماه و روز وارد کنید. با کلیک بر روی دکمه submit عملیات تبدیل تاریخ به وسیله تابع jalali_to_gregorian انجام می‌شود و می‌توانید تاریخ را مشاهده کنید که با کاراکتر / از هم جدا شده‌اند.
زبان برنامه نویسی PHP

معرفی منابع یادگیری زبان برنامه نویسی PHP

امیدواریم از مطالعه مقال تبدیل تاریخ شمسی به میلادی php استفاده کافی را برده باشید. قطعاً می‌توان زبان برنامه نویسی PHP را یک زبان مهم در سمت سرور نامید که دوره‌های آموزشی فارسی زبان و خوب برای این زبان بسیار کم است. در این شرایط پیدا کردن یک دوره آموزشی خوب که هزینه منصفانه داشته باشد کمی سخت است. البته مجموعه آموزشی فرادرس به عنوان بزرگترین پلتفرم آموزشی فارسی در ایران دارای مجموعه‌های آموزش برنامه نویسی و دیگر آموزش‌های کاربردی است که به راحتی می‌توانید با مشاهده پیش نمایش و سرفصل‌های آموزش، ابتدا از کیفیت تدریس مطلع شده سپس اقدام به دانلود نمایید.
شامپو ضد ریزش
بهترین شامپو ضد ریزش مو
مشاهده لیست
خودکار
ارزانترین یخچال بازار
مشاهده قیمت
خودکار
بهترین پلی استیشن و ایکس باکس ایران
مشاهده قیمت
پیش بینی قیمت شیبا اینو در بازار ارز (ارزش خرید دارد؟)
بهترین وام سال جدید (معرفی وام‌های مختلف بانک‌ها)
میم کوین‌ها و سود میلیون دلاری در چند هفته!
قیمت جدید آپارتمان در چیتگر (لیست قیمت بهار امسال)
پرفروش ترین جاروبرقی ایران در سال 1403 (جدیدترین لیست)
آخرین قیمت طلا و سکه (کاهش قیمت سکه همچنان ادامه دارد)
قیمت محصولات هایما (سقوط قیمت هایما ۸S مدل 1403)
پیش‌ بینی قیمت سکه (قیمت سکه و طلا کاهش یافت!)
مقایسه گلکسی A55 با ردمی نوت 13 پرو پلاس (شیائومی بخریم یا سامسونگ؟)
قیمت مرسدس در دبی (لیست ارزانترین بنزهای دبی را ببینید!)
کیانا - جمعه ۰۴ شهریور ۱۴۰۱

تبدیل تاریخ شمسی به میلادی هاتونو کجا و چطور انجام میدین؟ از یار؟ یا تقویم دیگه ای؟

ثبت نظر شما