PHP:更新日期值?

时间:2013-06-08 11:29:11

标签: php mysql date format

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

在我的数据库中,我有一个名为mydate的字段,它被设置为timestamp数据类型。 (它是这个数据类型)。

我的日期列为:

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日)。 / p>

如何?

这些方面的东西:

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

使用相关的mydate更新mysql。

3 个答案:

答案 0 :(得分:2)

使用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));

答案 1 :(得分:1)

您可以直接在MySql中执行此操作:

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

答案 2 :(得分:0)

 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);
 }