У меня есть месяц с 1 по 12. Как я могу сформировать дату в формате Y-m-d
с текущим годом?
Примере:
У меня месяц 6. Вывод должен быть 2016-06-01
А также как получить следующий месяц указанной даты?
Примере:
2016-07-01 ----- 2016-08-01
2016-12-01 ----- 2017-01-01
3 ответа
Вы можете использовать setDate для DateTime . Сначала создайте объект DateTime и setDate () с текущим годом, specified month
(от 1 до 12) и 1
в качестве даты.
Как это,
<?php
$date=new DateTime();
$date->setDate($date->format('Y'), 6, 1); // change 6 with the month digit you have.
echo $date->format("Y-m-d");
$date->modify("+1 month");
echo "\n";
echo $date->format("Y-m-d");
Вывод:
2016-06-01
2016-07-01
Чтобы добавить месяц в дату, вы можете использовать функцию modify () для добавления месяца в объекте DateTime.
Демо: https://eval.in/636688
Чтобы получить текущий год
date('Y');
Подробнее о форматировании здесь http://php.net/manual/en/function.date.php
Это даст вам +1 месяц с даты, которую вы укажете
date('Y-m-d', strtotime("+1 months", strtotime('2016-12-01')));
Вы можете использовать функцию mktime
в сочетании с функцией date
$month=6;
echo date("Y-m-d", mktime(0, 0, 0, $month, date('d'), date('Y')));
/* 2016-06-07 */
$month++;
echo date("Y-m-d", mktime(0, 0, 0, $month, date('d'), date('Y')));
/* 2016-07-07 */
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.