فرمت دهی مقادیر تاریخ و زمان در PHP

آموزش تغییر دادن فرمت تاریخ و زمان در PHP

آموزش تغییر دادن فرمت تاریخ و زمان در PHP

در این مطلب میخوام به شما آموزش بدم که چطور میتونین فرمت تاریخ میلادی رو تغییر بدین و اونجوری که میخواید نشون بدین. در مطالب بعدی در مورد تاریخ شمسی و تغییر دادن فرمت اون هم توضیح خواهیم داد.

وقتایی که با تاریخ سر و کار دارید بهتر هست اولین کاری میکنید در خط اول Timezone مورد نظرتون رو مشخص کنید تا محاسبات با توجه به جایی که شما میخواید انجام بشه. بصورت زیر:

<?php
date_default_timezone_set("Asia/Tehran");

با این کار Timezone به تهران تغییر پیدا میکنه. فرض کنید که میخوایم یک تاریخ با فرمت مشخص و استاندارد رو به فرمت دیگری تبدیل کنیم. برای اینکار مثلا تاریخ فعلی رو با استفاده از strtotime به timestamp تبدیل میکنیم و بعد از اون فرمتی که میخوایم رو با اون میسازیم. کد زیر رو ببینید:

<?php
date_default_timezone_set("Asia/Tehran");
$old_date = date('l, F d y h:i:s'); // Tuesday, May 08 18 07:27:14
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d H:i:s', $old_date_timestamp);
echo $new_date; // 2018-05-08 07:27:14

همونطور که میبینید تاریخ فعلی رو با استفاده از فرمت مورد نظر در old_date قرار دادیم و بعد اون رو به timestamp تبدیل کرده و در نهایت اون رو به عنوان ورودی دوم به متد date پاس دادیم و فرمت جدید رو هم قرار دادیم. با اینکار new_date با فرمت مورد نظر ما چاپ میشه.

اگر از PHP نسخه 5.3 به بالا استفاده میکنید میتونین از DateTime::createFromFormat استفاده کنید. مثال زیر رو ببینید:

$myDateTime = DateTime::createFromFormat('Y-m-d', '2018-05-08');
$newDateString = $myDateTime->format('m/d/Y');
echo $newDateString; // 05/08/2018

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

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

<?php
date_default_timezone_set("Asia/Tehran");
$now = new DateTime();
$timestring = $now->format('Y-m-d h:i:s');
echo $timestring; // 2018-05-08 07:33:26

به همین راحتی.

اگر شما هم روشی برای انجام اینکار به ذهنتون میرسه خوشحال میشیم که در بخش نظرات با ما در میان بذارید.

 
ارسال دیدگاه
ما همه سوالات و دیدگاه ها رو می خونیم و پاسخ میدیم
۱ دیدگاه
مختار هوشنگی ۱۱ مهر ۱۴۰۰، ۱۹:۰۴
ممنون
خوب و عالی