سلام? خیلی وقت های برای ما پیش اومده که بخوایم به تاریخ های خودمون ی مقداری رو اضافه کنیم. مثلا بخوایم که به تاریخی که الان داریم ۱۰ روز اضافه کنیم یا بخوایم یک هفته ازش کم کنیم و ببینیم که هفته قبلش چه تاریخی بوده. اگه ی همچین اتفاق هایی براتون افتاده، پس این پست مخصوص شماست.?
چه زمانی ما نیاز داریم تاریخ رو تغییر بدیم؟
خب همونطور که گفتم، ممکنه ما زمانی لازم داشته باشیم که به تاریخی که الان داریم یک مقداری رو اضافه یا کم کنیم که به عنوان مثال شما میخواین در سایت خودتون یک اشتراک ویژه برای کاربراتون پیاده سازی کنید و میخواین بعد از تهیه این اشتراک، از تاریخ الان به مدت یک ماه این دسترسی رو داشته باشه. این متداول ترین مثالی هست که میشه برای این موضوع زد.
راه حل چیه؟
خب راه حلش هم که خیلی سادس، شما باید تاریخ فعلی رو با استفاده از توابع دریافت کنید و بهش یک ماه(میتونید ۳۰ روز رو هم) اضافه کنید.خب پس تا الان فهمیدیم که به چه کاری میاد پس بریم سراغ روش هایی که میشه به تاریخمون یک مقدار رو اضافه کنیم??
اضافه کردن روز به تاریخ در php
خب رسیدیم به جایی که قرار یادبگیریم چطور به تاریخمون یک مقدار رو اضافه یا کم کنیم? اصلا نگران نباشید چون اصلا سخت نیست و خیلی ساده میتونید این کار رو با توابع خود php انجام بدیم. برای این کار ما ۲ روش داریم که در این مطلب هر ۲ روش رو بهتون میگم.?
روش اول: استفاده از تابع strtotime()
تابع strtotime() یک تابعی هست که از اون استفاده میکنن تا تاریخی انگلیسی که به صورت متن هست رو به به برچسب زمان یونیکس(تعداد ثانیه ها از January 1 1970 00:00:00 GMT) تبدیل کند.
Syntax:
strtotime( $EnglishDateTime, $time_now )
پارامتر ها:
این تابع ۲ پارامتر رو دریافت میکنه که در ادامه اون هارو توضیح میدم.
- $EnglishDateTime: این پارامتر یک رشته یا تاریخ انگلیسی را دریافت میکند.
- $time_now: این پارامتر زمان مورد استفاده برای محاسبه مقدار برگشتی را مشخص می کند. این یک پارامتر اختیاریه.
نحوه اضافه کردن روز به تاریخ با استفاده از تابع strtotime():
<?php // PHP program to add days to $Date // Declare a date $Date = "2019-05-10"; // Add days to date and display it echo date('Y-m-d', strtotime($Date. ' + 10 days')); ?>
که خروجیش میشه:
۲۰۱۹-۰۵-۲۰
به همین راحتی شما میتونید ۱۰ روز رو به تاریختون اضافه کنید.
روش دوم: استفاده از تابع date_add():
تابع date_add() برای اضافه کردن روز، ماه، سال، ساعت، دقیقه و ثانیه استفاده می شود.
Syntax:
date_add(object, interval);
پارامتر ها:
این تابع هم ۲ تا پارامتر میگیره که در ادامه توضیحشون میدم.
- Object: شیء DateTime را که توسط تابع date_create() برگردانده شده است، مشخص می کند.
- Interval: شیء DateInterval را مشخص می کند.
نحوه اضافه کردن روز به تاریخ با استفاده از تابع date_add():
<?php // PHP program to add 10 days in date // Declare a date $date = date_create("2019-05-10"); // Use date_add() function to add date object date_add($date, date_interval_create_from_date_string("10 days")); // Display the added date echo date_format($date, "Y-m-d"); ?>
که خروجیش میشه:
۲۰۱۹-۰۵-۲۰
به همین راحتی. سخت بود؟
نکته: یک نکته ای رو فقط بهتون بگم که لزوما شما فقط نباید از روز استفاده کنید و شما میتونید با استفاده از کلمه های months و years به تاریخ های خودتون ماه و سال هم اضافه کنید و حتی میتویند با استفاده از عملگر (-) هم از تاریخ خودتون روز ماه سال رو کم کنید.☺️
امیدوارم که این مطلب هم براتون مفید باشه و ازش استفاده کنید.❤️
منبع: https://www.geeksforgeeks.org/how-to-add-days-to-date-in-php/