我有和现有的PHP函数一样更新MySQL记录。我需要设置一个日期字段,但我无法正确格式化PHP。目前这个工作正常:
update_post_meta( $post_id, 'adverts_email', 't@t.com');
t@t.com是常规文本。
对于到期日我想使用strtotime('+ 20天');以1449203160这样的unix时间戳格式写出来,这种格式在2015年12月4日@ 4:26翻译成人形。
我尝试了很多变种.'strtotime('+ 20天');'。或'.strtotime('+ 20天');。'有没有;它不起作用。我不确定当我应该使用DATETIME或其他方法或两个问题的组合时,问题是语法还是strtotime使用?
损纸:
update_post_meta( $post_id, '_expiration_date', 'strtotime('+20 days');');
答案 0 :(得分:2)
如前所述,语法高亮显示了问题。以下解决方案应该有效:
update_post_meta( $post_id, '_expiration_date', strtotime('+20 days'));
这假设_expiration_date
字段是整数/ unix时间戳,但字段更可能是DATETIME
或TIMESTAMP
类型。因此,这可能会更好:
update_post_meta( $post_id, '_expiration_date', date('Y-m-d H:i:s', strtotime('+20 days')));