【问题标题】:correctly adding and substracting date?正确加减日期?
【发布时间】:2015-07-17 14:34:25
【问题描述】:

让任何一个月为 30 天,然后在 2015 年 2 月 25 日添加 10 天后,它变为 2015 年 3 月 5 日,但也有 29 天和 31 天的月份。如果一个月为 31,然后将 10 天添加到 25/04/2015 将是 04/05/2015 而不是 05/05/2015。MySQL 的日期功能,PHP 和 laravel 的 Carbon 功能是否通过检测总天数在加法或减法后产生正确的日期特定月份严格按照日历或仅假设每个月为 30 天?正确日期操作的最佳工具是什么?

【问题讨论】:

  • 你试过的代码在哪里?
  • '第 30 个月'?你醉了吗?他们说没有愚蠢的问题,但这似乎是证明规则的例外。
  • 只要尝试一下就很容易找到,你可以写一个脚本来测试这个比你写问题的速度更快.....不,PHP,MySQL,DateTime,Carbon,等等并不是那么愚蠢......它们是由知道一个月中的天数变化的人写的......它们是由那些甚至知道不是每一天都是86400秒长的人写的

标签: php mysql laravel php-carbon


【解决方案1】:

PHP,是的。

<?php
$date=date_create("2015-02-25");
date_add($date, date_interval_create_from_date_string("10 days"));
echo date_format($date,"Y-m-d");
// echos 2015-03-07

date_add($date, date_interval_create_from_date_string("-10 days"));
echo date_format($date,"Y-m-d");
// echos 2015-02-25

MySQL,是的。

DATE_ADD(SomeDate, INTERVAL 10 DAY)
DATE_SUB(SomeDate, INTERVAL 10 DAY)

【讨论】:

    【解决方案2】:

    你可以这样使用得到current date,previous datenext date

    <?php 
    $date = date('Y-m-d');
    $prev_date = date('Y-m-d', strtotime($date .' -1 day'));
    $next_date = date('Y-m-d', strtotime($date .' +1 day'));?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      相关资源
      最近更新 更多