我试图从我的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>
答案 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'