php - 获取两个日期之间的精确差异

标签 php jquery date

我正在实现一个房地产应用程序,我需要准确检查两个日期之间的日期差异。 我更喜欢使用 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/

相关文章:

php - 使用 symfony 4 在谷歌浏览器中显示多个图像的错误,而不是在 Firefox 中显示错误

jquery - 使用 jquery 从页面中完全删除一个元素

Jquery scrolltop 不适用于偏移量

java - ElasticSearch 日期映射

PHP parse_ini_file TC_CONSTANT 警告

javascript - 简单的电子邮件正则表达式,确保用户包含点域?

php - Yii 条件验证

javascript - 从单个字符串中分离两个日期

java - Java:处理日期

jquery - jQuery UI Datepicker maxDate 选项的手动日期输入验证