如何从php / mysql中减去日期时间?

时间:2013-12-25 09:25:17

标签: php mysql datetime


我试图从我的mysql的日期时间向表单添加默认值。这段代码有效,但是我希望显示下一个日期,比我从数据库获取的日期少一天。我已经尝试了很长时间但没有结果..如何从日期时间减去一天?

<input type="text" name="pub" value="
<?php
 $con=mysql_connect("localhost","user","pass") or die("Failed to connect to MySQL: " . mysql_error());
 $db=mysql_select_db("kalender",$con) or die("Failed to connect to MySQL: " . mysql_error());
 $result = mysql_query("SELECT DISTINCT pub FROM event ORDER BY `id` DESC LIMIT 1");
 $data = mysql_fetch_array($result);

 echo $data['pub'];
 ?>
">
</input>

3 个答案:

答案 0 :(得分:1)

你的代码非常糟糕:我修改过检查:

<?php
 $con=mysql_connect("localhost","user","pass") or die("Failed to connect to MySQL: " . mysql_error());
 $db=mysql_select_db("kalender",$con) or die("Failed to connect to MySQL: " . mysql_error());
 $result = mysql_query("SELECT DISTINCT pub FROM event ORDER BY `id` DESC LIMIT 1");
 $data = mysql_fetch_array($result);

 $dates = $data['pub'];
 $date = date("Y-m-d",strtotime($data['pub'].' -1 day'));
 ?>
<input type="text" name="pub" value="<?php echo $date;?>" />

这将为您提供所选日期的上一个日期。

答案 1 :(得分:1)

在mySQL中,您可以使用DATE_ADD函数为日期添加时间。

在php中你使用date_add或date :: add。

答案 2 :(得分:1)

使用以下查询

mysql> SELECT DATE_SUB('2005-01-01 00:00:00',
    ->                 INTERVAL '1 1:1:1' DAY_SECOND);
        -> '2004-12-30 22:58:59'