
کار با زمان و تاریخ یکی از جنبه های ضروری برنامه نویسی است. با توجه به اینکه زبان برنامه نویسی PHP بیشتر برای برنامه نویسی تحت وب استفاده می شود، یادگیری مدیریت مناطق زمانی اهمیت دو چندان می یابد. در دنیای امروز، از آنجایی که کسب و کارها ممکن است مشتریان و تیم هایی مستقر در مناطق زمانی مختلف داشته باشند، مدیریت دقیق زمان از جایگاه ویژه ای برخوردار است.
در این مقاله وبلاگ پارس پاک نحوه مدیریت مناطق زمانی در PHP برای جلوگیری از خطاها و ناهماهنگی های احتمالی را توضیح می دهیم. در این آهنگ، توابع مختلف PHP داخلی مانند تابع تاریخ، تابع زمان و تابع strtotime را بررسی خواهیم کرد که به ما کمک میکنند با زمان کارآمدتر کار کنیم. با نحوه مدیریت مناطق زمانی در PHP تا انتهای این مقاله همراه باشید.
مدیریت مناطق زمانی در PHP
مناطق زمانی در PHP ضروری هستند. زیرا به تعیین زمان محلی یک مکان خاص کمک می کنند. PHP از چندین منطقه زمانی پشتیبانی می کند که با استفاده از تابع date_default_timezone_set تنظیم می شوند. به عنوان مثال، برای تنظیم منطقه زمانی نیویورک، می توانیم از قطعه کد زیر استفاده کنیم:
date_default_timezone_set('America/New_York');
DateTimeZoneImmutable یک زیر کلاس از DateTimeZone است که برای ایجاد مناطق زمانی استفاده می شود. مزیت این زیر کلاس این است که از تغییرات مصون خواهد بود. به یاد داشته باشید زمانی که مطمئن هستید که منطقه زمانی هرگز نیازی به تغییر نخواهد داشت از DateTimeZoneImmutable استفاده کنید.
تابع date_default_timezone_set() مناطق زمانی پیشفرض استفاده شده توسط تمام توابع زمان/تاریخ را در یک اسکریپت مشخص میکند. اگرچه این تابع به شما امکان می دهد منطقه زمانی را تنظیم کنید، اما بسیار پرمخاطب است و می تواند شما را مجبور کند از همان منطقه زمانی برای کل اجرای اسکریپت استفاده کنید.
کلاس های DateTimeZone و DateTimeZoneImmutable به شما کنترل و انعطاف بیشتری برای دستکاری مناطق زمانی می دهد.
نحوه تغییر منطقه زمانی در PHP
تابع تاریخ در PHP
از تابع تاریخ در PHP برای قالب بندی تاریخ ها و زمان ها بر اساس نیاز خود استفاده کنید. استفاده صحیح از منطقه زمانی هنگام کار با تاریخ مهم است. زیرا دقت نمایش نتایج را کاهش می دهد و در مراحل سخت تری منجر به خطا می شود. در واقع می توانیم منطقه زمانی مورد نظر را با آرگومان دوم در تابع تاریخ مشخص کنیم. در مثال زیر می توانید نحوه استفاده از تابع تاریخ را با یک منطقه زمانی خاص مشاهده کنید:
date_default_timezone_set('Asia/Tokyo'); echo date('Y-m-d H:i:s', time());
کد بالا منطقه زمانی را روی آسیا و شهر توکیو تنظیم می کند و سپس زمان فعلی را با فرمت Ymd H:i:s فرمت می کند.
معرفی کامل انواع داده های PHP و نحوه استفاده از آنها را در مقاله زیر بخوانید.
انواع داده در PHP
تابع زمان در PHP
تابع زمان PHP مقدار زمان یونیکس فعلی را برمیگرداند، که تعداد ثانیهها از 1 ژانویه 1970 در ساعت 00:00:00 UTC است. به طور پیشفرض، تابع زمان یک مقدار مهر زمانی را با توجه به منطقه زمانی سرور برمیگرداند. البته در صورت تمایل می توانید با استفاده از تابع تاریخ و شناسه منطقه زمانی، مهر زمانی یونیکس را به مهر زمانی خاص دیگری تبدیل کنید. در مثال زیر میتوانید نحوه استفاده از تابع زمان با یک منطقه زمانی خاص را مشاهده کنید:
date_default_timezone_set('Europe/London'); echo date('Y-m-d H:i:s', time());
کد بالا منطقه زمانی اروپا و لندن را تنظیم می کند و سپس زمان فعلی را با فرمت Ymd H:i:s فرمت می کند.
تابع strtotime در PHP
اگر می خواهید یک رشته تاریخ را به مهر زمانی یونیکس تبدیل کنید، می توانید از تابع strtotime در PHP استفاده کنید. تنظیم منطقه زمانی نیز برای کار با strtotime مورد نیاز است. زیرا اگر تنظیمات آن را نادیده بگیرید، نباید به صحت نتایج اتکا کنید.
در صورت نیاز، می توانید منطقه زمانی را به عنوان آرگومان دوم به تابع strtotime ارسال کنید. مثال زیر نحوه استفاده از تابع strtotime را با یک منطقه زمانی خاص نشان می دهد:
date_default_timezone_set('America/Los_Angeles'); $timestamp = strtotime('2023-02-18 10:30:00'); echo date('Y-m-d H:i:s', $timestamp);
کد بالا منطقه زمانی را روی America/Los_Angeles تنظیم می کند و سپس رشته تاریخ ‘2023-02-18 10:30:00’ را به یک مهر زمانی یونیکس تبدیل می کند. در نهایت مهر زمانی را در قالب Ymd H:i:s قالب بندی می کند.
چرا باید نسخه PHP خود را به روز نگه داریم؟ کدام نسخه PHP را انتخاب کنم؟ چگونه نسخه PHP را تغییر دهم؟ در مقاله زیر بخوانید.
نحوه تغییر نسخه PHP
نتیجه
پیاده سازی مدیریت منطقه زمانی در PHP نشان می دهد که از خطاها و ناهماهنگی های احتمالی در محاسبات تاریخ و زمان جلوگیری می کند. در این مقاله وبلاگ پارس پاک، توابع مختلف PHP داخلی مانند تابع تاریخ، تابع زمان و تابع strtotime را بررسی کردیم و دیدیم که چگونه می توانیم از آنها برای کار با زمان و تاریخ دقیق استفاده کنیم. با استفاده از این توابع و با منطقه زمانی صحیح، می توانید مطمئن باشید که کد شما نتایج منسجم و دقیقی تولید خواهد کرد.
سوالات متداول
1. استفاده از تابع date در PHP چیست؟
می توانید از این تابع برای قالب بندی تاریخ و زمان استفاده کنید.
2. کاربرد تابع زمان در PHP چیست؟
مقدار زمان یونیکس فعلی را برمی گرداند.
3. وظیفه strtotime در PHP چیست؟
یک رشته تاریخ را به مهر زمانی یونیکس تبدیل می کند.
{ “@context”: “https://schema.org”، “@type”: “FAQPage”، “mainEntity”: [{
“@type”: “Question”,
“name”: “تابع date در PHP چه کاربردی دارد؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “برای قالببندی تاریخها و زمانها از این تابع میتوان کمک گرفت.”
}
},{
“@type”: “Question”,
“name”: “کاربرد تابع time در PHP چیست؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “مقدار timestamp یونیکس (Unix) فعلی را برمیگرداند.”
}
},{
“@type”: “Question”,
“name”: “تابع strtotime در PHP چه کاربردی دارد؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “یک رشته تاریخ را به timestamp یونیکس تبدیل میکند.”
}
}]
}
نوشتن آموزش مدیریت مناطق زمانی در PHP و بررسی توابع datetime و strtotime برای اولین بار در پارسپک. به نظر می رسد.