Мне нужен первый и последний день месяца в формате ГГГГ-ММ-ДД, указанный только месяц и год. Есть ли хороший и простой способ сделать это?В PHP есть ли простой способ получить первую и последнюю дату месяца?
ответ
Первый день всегда ГГГГ-ММ-01, не так ли? Пример: date("Y-M-d", mktime(0, 0, 0, 8, 1, 2008))
Последнего день предыдущий день первого день следующего месяца:
$date = new DateTime("2008-09-01");
$date->modify("-1 day");
echo $date->format("Y-m-d");
Первый день месяца всегда 1. Так будет
YYYY-MM-01
в последний день может быть рассчитан как:
<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "There was $num days in August 2003";
?>
OK, сначала мертвый легко.
date ('Y-m-d', mktime(0,0,0,MM,01,YYYY));
Последнее немного сложнее, но не очень.
date ('Y-m-d', mktime(0,0,0,MM + 1,-1,YYYY));
Если я помню PHP дата вещи правильно ...
** редактировать - Гах! Избитый ему около миллиона раз ...
Edit патента:
Последнего день должен был
date ('Y-m-d', mktime(0,0,0,$MM + 1,0,$YYYY)); // Day zero instead of -1
Кстати @ZombieSheep решения
date ('Y-m-d', mktime(0,0,0,$MM + 1,-1,$YYYY));
не работает это должно быть
date ('Y-m-d', mktime(0,0,0,$MM + 1,0,$YYYY)); // Day zero instead of -1
Конечно, принятое решение Михала Слаби является самым простым.
Просто чтобы убедиться, что я не пропускал любые свободные концы:
$startDay = 1;
if (date("m") == 1) {
$startMonth = 12;
$startYear = date("Y") - 1;
$endMonth = 12;
$endYear = date("Y") - 1;
}
else {
$startMonth = date("m") - 1;
$startYear = date("Y");
$endMonth = date("m") - 1;
$endYear = date("Y");
}
$endDay = date("d") - 1;
$startDate = date('Y-m-d', mktime(0, 0, 0, $startMonth , $startDay, $startYear));
$endDate = date('Y-m-d', mktime(0, 0, 0, $endMonth, $endDay, $endYear));
<?php
echo "Month Start - " . $monthStart = date("Y-m-1") . "<br/>";
$num = cal_days_in_month(CAL_GREGORIAN, date("m"), date("Y"));
echo "Monthe End - " . $monthEnd = date("Y-m-".$num);
?>
Самый простой способ сделать это с помощью PHP является
$dateBegin = strtotime("first day of last month");
$dateEnd = strtotime("last day of last month");
echo date("MYDATEFORMAT", $dateBegin);
echo "<br>";
echo date("MYDATEFORMAT", $dateEnd);
Или на прошлой неделе
if (date('N', time()) == 7) {
$dateBegin = strtotime("-2 weeks Monday");
$dateEnd = strtotime("last Sunday");
} else {
$dateBegin = strtotime("Monday last week");
$dateEnd = strtotime("Sunday last week");
}
Или в прошлом году
$dateBegin = strtotime("1/1 last year");
$dateEnd = strtotime("12/31 this year");
попробовать это, чтобы получить количество дней в месяце:
$numdays = date('t', mktime(0, 0, 0, $m, 1, $Y));
Пример; Я хочу получить первый и последний день текущего месяца.
$month = (int) date('F');
$year = (int) date('Y');
date('Y-m-d', mktime(0, 0, 0, $month + 1, 1, $year)); //first
date('Y-m-d', mktime(0, 0, 0, $month + 2, 0, $year)); //last
Когда вы запускаете это, например, на дату 2015-01-09, первое и последнее значения будут последовательно;
2015-01-01
2015-01-31
Протестировано.
От here(get next month last day), который помечается как дублированный, поэтому я не могу добавить комментарий, но люди могут получить плохие ответы оттуда.
Correct один за последний день следующего месяца:
echo ((new DateTime(date('Y-m').'-01'))->modify('+1 month')->format('Y-m-t'));
Correct один за первый день следующего месяца:
echo ((new DateTime(date('Y-m').'-01'))->modify('+1 month')->format('Y-m-01'));
код, как это будет обеспечивать марта с января, так что это не то, что можно было ожидать.
echo ((new DateTime())->modify('+1 month')->format('Y-m-t'));
- 1. Как получить первую дату и последнюю дату предыдущего месяца? (Java)
- 2. Каков самый простой и эффективный способ получить первую и последнюю дату предыдущего месяца?
- 3. введите даты и получите первую и последнюю дату этого месяца?
- 4. Получите первую и последнюю дату следующего месяца в MySQL
- 5. Получите первую и последнюю дату рабочего дня месяца в MySQL
- 6. есть ли простой способ получить дату?
- 7. Получить первую дату и последнюю дату текущего квартала в Python?
- 8. Получить первую или последнюю пятницу месяца в
- 9. SQL Server 2005 Получить первую и последнюю дату для любого месяца в любом году
- 10. Как получить первую дату и последнюю дату с данного месяца и год
- 11. Как получить первую дату и последнюю дату с использованием текущего месяца и года на scala
- 12. Как в iOS получить первую дату месяца?
- 13. Получить первую дату месяца в postgres
- 14. Получить последнюю дату месяца в SQL Server
- 15. Как получить первую и последнюю запись каждого месяца в Sqlite
- 16. Получить последнюю дату PHP
- 17. Как получить последнюю дату данного месяца и года в java
- 18. Есть ли простой способ отформатировать дату в php?
- 19. Получить первую и последнюю дату из разобранного массива
- 20. Как получить первую дату текущего месяца в Node.js?
- 21. Как получить первую и последнюю дату в файле
- 22. Как получить первую запись и последнюю запись в дату
- 23. Простой способ конвертировать имя месяца в номер месяца в php
- 24. соединить 2 таблицы MySQL и получить первую и последнюю дату
- 25. Учитывая дату, я получаю первую и последнюю дату этого месяца, используя классический asp
- 26. Получить последнюю дату данного месяца и года в C#
- 27. Linux bash parse json: получить первую и последнюю дату
- 28. Получить последнюю дату каждого месяца в списке дат в Python
- 29. Получить первую beginning_of_week определенного месяца
- 30. получить первую и последнюю дату 4-недельного периода
Я чувствую себя глупо просить в первый день месяца ....: \ – 2008-09-04 12:22:42