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

دسته بندی: آموزش
زمان مطالعه: 2 دقیقه
۱۶ اردیبهشت ۱۳۹۷

آموزش تغییر دادن فرمت تاریخ و زمان در 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

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

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

چه امتیازی به این مقاله می دید؟
نویسنده محمد اسفندیاری
بسیار به طراحی وب علاقمندم و به سرعت در حال یادگیری تمام مباحث پیشرفته هستم و دوست دارم که به دیگران هم یاد بدهم.

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

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