Php 仅当天数相同时,才能获得月差
在MySQL中,只有在日期相同的情况下,如何才能获得两个日期之间的月差?到目前为止,我已经做到了这一点,但它不起作用,因为当日子不一样时,它仍然起作用:Php 仅当天数相同时,才能获得月差,php,mysql,date,pdo,timestamp,Php,Mysql,Date,Pdo,Timestamp,在MySQL中,只有在日期相同的情况下,如何才能获得两个日期之间的月差?到目前为止,我已经做到了这一点,但它不起作用,因为当日子不一样时,它仍然起作用: TIMESTAMPDIFF(MONTH, '2019-05-05', '2019-06-05') Output: 1 TIMESTAMPDIFF(MONTH, '2019-05-05', '2019-06-22') Output: 1 // should NOT work because days are 05 and 22. Needs t
TIMESTAMPDIFF(MONTH, '2019-05-05', '2019-06-05')
Output: 1
TIMESTAMPDIFF(MONTH, '2019-05-05', '2019-06-22')
Output: 1 // should NOT work because days are 05 and 22. Needs to be the same dates
我显然可以做到:
DAY('2019-05-05') = DAY('2019-06-05') AND TIMESTAMPDIFF(MONTH, '2019-05-05', '2019-06-05')
但是我如何在一个函数中实现它呢
谢谢 在MySQL中,您可以使用下面的查询获得它
select DATEDIFF('2019-06-22', '2019-05-05') as Diff from table_name where
day('2019-06-22') == day('2019-05-05');
正在使用列名
select DATEDIFF(dateColum2, dateColum1) as Diff from table_name where
day(dateColum2) == day(dateColum1);
从PHP你可以得到如下所示
$dateValue1 = '2019-05-05';
$dateValue2 = '2019-06-22';
$time1=strtotime($dateValue1);
$day1=date("D",$time1);
$time2=strtotime($dateValue2);
$day2=date("D",$time2);
if($day1 == $day2 ) {
$seconds_diff = $time2 - $time;
}
在MySQL中,您可以使用下面的查询获得它
select DATEDIFF('2019-06-22', '2019-05-05') as Diff from table_name where
day('2019-06-22') == day('2019-05-05');
正在使用列名
select DATEDIFF(dateColum2, dateColum1) as Diff from table_name where
day(dateColum2) == day(dateColum1);
从PHP你可以得到如下所示
$dateValue1 = '2019-05-05';
$dateValue2 = '2019-06-22';
$time1=strtotime($dateValue1);
$day1=date("D",$time1);
$time2=strtotime($dateValue2);
$day2=date("D",$time2);
if($day1 == $day2 ) {
$seconds_diff = $time2 - $time;
}
/ADDDATE//DATE\u ADD将很好地处理此问题:
SELECT DATE_SUB('2019-06-22', INTERVAL 1 MONTH) = '2019-05-05'
| DATE_SUB('2019-06-22', INTERVAL 1 MONTH) = '2019-05-05' |
| ------------------------------------------------------: |
| 0 |
请参阅/ADDDATE//DATE\u ADD将很好地处理此问题:
SELECT DATE_SUB('2019-06-22', INTERVAL 1 MONTH) = '2019-05-05'
| DATE_SUB('2019-06-22', INTERVAL 1 MONTH) = '2019-05-05' |
| ------------------------------------------------------: |
| 0 |
请参见您可以分解日期字符串并比较日期/您可以分解日期字符串并比较日期/@timmy balk只有在间隔固定的情况下才有效。。。因此,如果您想要两个日期列之间的日期差,您必须像我在下面所做的那样使用多个函数。。。我知道你想避免它,但现在没有更多的选择了MySQL@timmy阻止它只有在间隔固定的情况下才有效。。。因此,如果您想要两个日期列之间的日期差,您必须像我在下面所做的那样使用多个函数。。。我知道你想避免它,但在MySQL中没有更多的选择