【问题标题】:PHP: Update a date value?PHP:更新日期值?
【发布时间】:2013-06-08 11:29:11
【问题描述】:

更新日期最简单的方法是什么?

在我的数据库中,我有一个名为 mydate 的字段被设置为时间戳数据类型。 (应该是这种数据类型)。

我的日期被列为:

2013-07-25 00:00:00

or

0000-00-00 00:00:00

意味着它们要么有数据,要么只有零,但永远不会为空。

编辑: 谢谢你们!我将您所说的所有内容结合起来并使其发挥作用。

现在假设我想将任何给定日期增加 10 天,我将如何实现?

第一个,2013 年 7 月 25 日将变为 2013-08-04 00:00:00,另一个将变为 2013-06-18 00:00:00(在发布时是 6 月 8 日)。

怎么做?

类似的东西:

if(mydate_from_db > present_date){
mydate_from_db = mydate_from_db + day('10')
}
else{
mydate_from_db = present_date + day('10')
}

在相关的地方用 mydate 更新 mysql。

【问题讨论】:

    标签: php mysql date format


    【解决方案1】:

    使用 PHP,您可以执行以下操作:

    if($mydate_from_db > $present_date){
        $mydate_from_db = strtotime($mydate_from_db, '+ 10 days');
    } else {
        $mydate_from_db = strtotime($present_date, '+ 10 days');
    }
    

    或者你可以用mysql来做:

    UPDATE yourtable SET mydate = IF(mydate = '0000-00-00 00:00:00', '2013-06-18 00:00:00', DATE_ADD(mydate, INTERVAL 10 DAY));
    

    【讨论】:

      【解决方案2】:

      你可以直接在MySql中做:

      UPDATE 
          my_table 
      SET 
          my_date = my_date + INTERVAL 10 DAY 
      WHERE 
          DATE(my_date) >= '2013-06-01' 
      

      【讨论】:

        【解决方案3】:
         if(mydate_from_db > present_date)
          {
            $date = strtotime(mydate_from_db );
            $date = strtotime("+10 day", $date);
            echo date('M d, Y', $date);
           }
         else
          {
         $date=date();
         $date = strtotime("+10 day", $date);
         echo date('M d, Y', $date);
         }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-13
          • 1970-01-01
          • 2016-04-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多