我有一个特别的问题,我有脚本应该发出账单声明。现在我想要的是账单的到期日必须是签发日期后的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)";
但这根本不起作用。有什么帮助吗?
答案 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)
您的代码有两个问题。
PHP中的变量区分大小写。含义 $ _ post 与 $ _ POST 不同。
当您将时间乘以秒,分钟,小时等时,无法计算 因为乘法被解释为字符串的一部分。
答案 4 :(得分:0)
而不是now()+ (60 * 60 * 24 *14)
使用adddate(now(), interval 14 day)
。而且您在查询中遗漏了)
!