چگونه در PHP از تاریخ فعلی بکاهیم یا به آن اضافه کنیم؟

بدون دیدگاه

تقریبا در همه پروژه هایی که کار می کنم نیاز به کار کردن با تاریخ و زمان وجود دارد.

گاهی نیاز است به اندازه X روز از تاریخ امروز جلوتر برویم، گاهی باید بفهمیم X روز پیش چه تاریخی می شد و …

خوشبختانه امکانات PHP برای کار کردن با تاریخ و زمان کامل است و هیچ جا احساس کمبودی نخواهید کرد.

در ادامه می خواهیم نحوه اضافه کردن به تاریخ امروز و یا برعکس ، کاستن از تاریخ امروز و رفتن به گذشته را کار کنیم. مهم ترین تابعی که این امکان را برای ما فراهم می کند تابع strtotime است.

نحوه اضافه کردن ۲ روز به تاریخ امروز

$date = date('Y-m-j');
$newdate = strtotime ( '+2 day' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );
echo $newdate;

نحوه اضافه کردن ۴ ماه به تاریخ امروز

$date = date('Y-m-j');
$newdate = strtotime ( '+2 month' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );
echo $newdate;

نحوه اضافه کردن ۲ سال به تاریخ امروز

$date = date('Y-m-j');
$newdate = strtotime ( '+2 year' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );
echo $newdate;

نحوه کم کردن ۶ ساعت از تاریخ امروز

$date = date('Y-m-j');
$newdate = strtotime ( '-6 hour' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );

echo $newdate;

نحوه کم کردن ۱۰ دقیقه از تاریخ امروز

$date = date('Y-m-j');
$newdate = strtotime ( '-10 minute' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );

echo $newdate;

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

نحوه اضافه کردن ۱ سال به تاریخ ۲۰۱۲-۱۱-۲۵

$date = date('2011-11-25');
$newdate = strtotime ( '+1 year' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j' , $newdate );

echo $newdate;

با مشاهده این مثال ها می توانید ببینید که عقب و جلو رفتن در تاریخ سخت نیست.

در همین رابطه :   چگونه : داده ها را از فایل excel بخوانیم و در دیتابیس MySQL بریزیم ؟!

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

$date = date('2011-11-25 14:13:55');
$newdate = strtotime ( '+1 year' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-j H:i:s' , $newdate );

echo $newdate;

اگر تاریخ اولیه دارای ساعت نباشد، خروجی زمان ۰۰:۰۰:۰۰ خواهد بود یعنی اول زمان روز.

منبع

دسته بندی : PHPPHP

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

More in PHP, PHP
چگونه مشکل کند بودن Composer را حل و ۱۰ برابر سریع تر کنیم؟

یکی از مشکلاتی که اخیرا با آن روبرو شدم کند بودن شدید کمپوزر (Composer) یا بهتره بگم توقف کامل سایت...

Close