Ну, мне нужно получить два значения, представляющие расстояние между двумя полными датами (без часа/времени) ... В MySQL у нас есть , которые получают разницу между двумя датами (только месяц и год), но мне нужно включить и этот день.Месяц расстояние между двумя полными датами только
У меня есть две даты, как:
2011-12-05
и2012-01-10
. После2012-01-05
У меня есть 1 полный месяц, больше 5 дней.2012-01-01
и2012-03-01
. У меня 2 месяца и 0 день.2012-02-29
и2012-03-28
¹. У меня есть 0 месяц и 28 дней. Подробнее: за 1 месяц мне нужно2012-03-29
.2013-01-29
и2013-02-28
². У меня есть 0 месяц и 30 дней. Подробнее: за 1 месяц мне нужен2013-03-01
, потому что2013-02-29
не существует.2013-03-31
и2013-04-30
. Fix: действительно У меня есть 0 месяц и 30 дней. Подробнее: за 1 месяц мне нужен2013-05-01
, потому что2013-04-31
не существует.
¹ 2012
является високосный год/bissexto;
² 2013
нет;
Я не знаю, что мне нужно, чтобы точно решить это.
После того как вы получите количество '' months' с PERIOD_DIFF' вы можете добавить его в меньшую дату и после этого вычитания чтобы получить количество дней :-) – zerkms
Я пропустил что-то или '2013-03-31' и' 2013-04-30' i ровно 1 месяц, так как период между последним днем месяца и последним днем следующего месяца месяц? – piotrekkr
Мне нравится решение @ zerkms лучше, чем любой из ответов :-) – BRFennPocock