আমি এই বিন্যাসে একটি তারিখ পেয়েছি:
2009-01-01
আমি একই তারিখটি কিন্তু 1 বছর আগে কীভাবে ফেরত দেব?
আমি এই বিন্যাসে একটি তারিখ পেয়েছি:
2009-01-01
আমি একই তারিখটি কিন্তু 1 বছর আগে কীভাবে ফেরত দেব?
উত্তর:
// set your date here
$mydate = "2009-01-01";
/* strtotime accepts two parameters.
The first parameter tells what it should compute.
The second parameter defines what source date it should use. */
$lastyear = strtotime("-1 year", strtotime($mydate));
// format and display the computed date
echo date("Y-m-d", $lastyear);
যদিও এই প্রশ্নের প্রতিক্রিয়াতে অনেক গ্রহণযোগ্য উত্তর রয়েছে তবে আমি অবজেক্টটি subব্যবহার করে পদ্ধতির কোনও উদাহরণ দেখতে পাচ্ছি না \Datetime: https://www.php.net/manual/en/datetime.sub.php
সুতরাং, রেফারেন্সের জন্য, আপনি \DateIntervalকোনও \Datetimeঅবজেক্টটি সংশোধন করতে একটি ব্যবহার করতে পারেন :
$date = new \DateTime('2009-01-01');
$date->sub(new \DateInterval('P1Y'));
echo $date->format('Y-m-d');
যা ফেরত:
2008-01-01
সম্পর্কিত আরও তথ্যের \DateIntervalজন্য ডকুমেন্টেশন দেখুন: https://www.php.net/manual/en/class.dateinterval.php
আপনি 1 বা কোনও তারিখ থেকে যে কোনও বছর বিয়োগ করতে নিম্নলিখিত ফাংশনটি ব্যবহার করতে পারেন।
function yearstodate($years) {
$now = date("Y-m-d");
$now = explode('-', $now);
$year = $now[0];
$month = $now[1];
$day = $now[2];
$converted_year = $year - $years;
echo $now = $converted_year."-".$month."-".$day;
}
$number_to_subtract = "1";
echo yearstodate($number_to_subtract);
এবং উপরের উদাহরণগুলি দেখে আপনি নিম্নলিখিতগুলিও ব্যবহার করতে পারেন
$user_age_min = "-"."1";
echo date('Y-m-d', strtotime($user_age_min.'year'));