Получение временного интервала на основе строки даты в PHP - PullRequest
0 голосов
/ 07 июня 2018

Используя strtotime (), я могу получить определенную временную метку, но что, если я хочу получить верхнюю и нижнюю границу на основе гранулярности строки?

Например, если бы я указал «июль, 2018» или «июль» или «7/2018», я хотел бы установить отметку времени нижней границы 2018-07-01 00:00:00 и верхнююсвязанная временная метка 2018-07-31 23: 59: 59.

Если бы я указал «3 июля 2018» или «2018-07-03» или «3/7/2018», я бы хотелотметка времени нижней границы 2018-07-03 00:00:00 и отметка времени верхней границы 2018-07-03 23:59:59.

Если бы я указал «2018», я хотел бы, чтобы временная метка нижней границы составляла 2018-01-01 00:00:00, а временная метка верхней границы - 2018-12-31 23:59:59.

1 Ответ

0 голосов
/ 07 июня 2018

PHP datetime может анализировать первый день и последний день месяца, документация: http://php.net/manual/en/datetime.formats.relative.php

strtotime('first day of July, 2018');
strtotime('last day of July, 2018');

Я не знаю, собираетесь ли вы найти существующее решение, которое точно соответствует вашемуищите, но вы должны быть в состоянии написать собственную логику для достижения этой цели, используя гибкость относительных строк, которые понимает datetime.

Для года это всегда будет XXXX-01-01 00:00:00до XXXX-12-31 23:59:59 и на определенную дату всегда будет XXXX-XX-XX 00:00:00 до XXXX-XX-XX 23:59:59, поэтому эти довольно простые.

...