增加日期,计算日期

时间:2011-08-13 01:03:54

标签: php date increment

我有一个特别的问题,我有脚本应该发出账单声明。现在我想要的是账单的到期日必须是签发日期后的14天。

$issue_date = mysql_real_escape_string(trim($_post['issued_date']));
$due_date  = mysql_real_escape_string(trim($_POST['due_date']));
$query = "insert into utility (issue_date, due_date)values(now(),now()+ (60 * 60 * 24 *14)";

但这根本不起作用。有什么帮助吗?

5 个答案:

答案 0 :(得分:1)

尝试使用DATE_ADD功能:

$query = "insert into utility (issue_date, due_date) values (now(),
    DATE_ADD(now(), INTERVAL 14 DAY))";

答案 1 :(得分:1)

关键是不要混合日期时间和unix时间戳。

如果您在数据库中有日期/日期时间列(适用于NOW()),那么您不能只添加秒,您需要DATE_ADD(NOW(), INTERVAL 14 DAY)

如果您正在使用unix时间戳,那么您可以在PHP中添加strtotime('+14 days', $_POST['issued_date'])或在MySQL中添加UNIX_TIMESTAMP(DATE_ADD(...))

答案 2 :(得分:0)

该法案的截止日期必须是14'?

此外,您正在评估now()两次 - 因此获得两个值。

答案 3 :(得分:0)

您的代码有两个问题。

  1. PHP中的变量区分大小写。含义 $ _ post $ _ POST 不同。

  2. 当您将时间乘以秒,分钟,小时等时,无法计算 因为乘法被解释为字符串的一部分。

答案 4 :(得分:0)

而不是now()+ (60 * 60 * 24 *14)使用adddate(now(), interval 14 day)。而且您在查询中遗漏了)