0

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

在我的数据库中,我有一个名为 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。

4

3 回答 3

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));
于 2013-06-08T11:36:17.503 回答
1

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

UPDATE 
    my_table 
SET 
    my_date = my_date + INTERVAL 10 DAY 
WHERE 
    DATE(my_date) >= '2013-06-01' 
于 2013-06-08T11:32:51.157 回答
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);
 }
于 2013-06-08T11:47:41.390 回答