我正在实现一个房地产应用程序,我需要准确检查两个日期之间的日期差异。
我更喜欢使用 javascript
jquery
方法,但欢迎任何其他解决方案。
我的目标是不允许用户输入差异完全大于 2(或 5)年的日期。
我和其他许多人一起尝试过这个解决方案: How to get the months between 2 dates
不幸的是,这不是我真正需要的。
当我这样做时: 租金将于2017年1月1日开始 并将于2018年12月31日结束 我将获得 24 个月的租期(正好租用 2 年),这对于我的目的来说是正确的。
但是如果我尝试: 租金将于2017年1月1日开始 并将于 01-01-2019 结束 我仍然会得到 24 个月(但租期为 2 年零 1 天),这不符合我的目的。
由于我国(荷兰)的法律规定,上述两种情况的契约(Contract)存在很大差异。
我将感谢您的任何帮助。
最佳答案
正如评论中提到的,加 2 年并减 1 天。最好用DateTime
来做。类:
$dt = DateTime::createFromFormat('d-m-Y', '01-01-2017');
$dt->add(new DateInterval('P2Y'));
$dt->sub(new DateInterval('P1D'));
var_dump($dt->format('d-m-Y'));
这将产生所需的结果:
string(10) "31-12-2018"
关于php - 获取两个日期之间的精确差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42030846/