基本上我正在尝试向我的数据库添加日期(只是日期,而不是日期时间)
这是我到目前为止所拥有的:
$wpdb->insert(
'my_table',
array('date-adding'=>date('Y-m-d', '1994-06-14')),
array('%F')
);
它只是简单地插入0000-00-00
所以它的一些简单的错误 - 可能是%F
但是无法弄清楚是什么。
由于
答案 0 :(得分:3)
你的PHP date()
function错了,你想要完成什么?第二个参数应该是UNIX时间戳,而不是日期字符串。由于你只是给它一个静态时间字符串,只需使用'1994-06-14',没有理由尝试使用date()
函数。
如果你想要一个使用字符串动态的东西,试试这个:
date('Y-m-d', strtotime($dynamic_date_string))
讨论后编辑:
根问题结果是第三个参数格式化字符串格式化DATE作为浮点数。由于没有理由格式化日期,因此删除该可选参数可解决问题。此外,使用%s
将输入格式化为字符串也可以。
答案 1 :(得分:1)
使用strtotime()
和date()
:
$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));
来源:https://stackoverflow.com/a/2487938/1415724
看看这个:
<html>
<head>
<title>..</title>
<body>
<form action="work1.php" method="post">
Value1: <input type="text" name="date"><br>
<input type="Submit"/>
</form>
</body>
</head>
</html>
<?php
$username="root";
$password="abcdef";
$database="test_date";
$date=$_POST["date"]; // Your First Problem Post value
echo $date;
echo "i m here";
$date = date("Y/m/d", strtotime($date)); // 2nd Problem Date Format
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$query = "INSERT INTO date VALUES('','$date')";
mysql_query($query);
mysql_close();
?>
来源:http://www.daniweb.com/web-development/php/threads/300356/date-stored-in-mysql-as-0000-00-00
$date = date("Y-m-d", strtotime($_POST['date']));
$result = mysqli_query($link,"INSERT INTO visit_exclude_dates (date) VALUES ('{$date}')");
if(!$result) {
echo "Error: " . $link->error);
die();
}
$result->close();
$link->close();
来源:https://stackoverflow.com/a/16991316/1415724
鉴于数据来自输入表单字段,这里是更新的答案。
如果您尝试将数据作为“字符串”传递,请改用双引号。
I.e。:$string="1994-06-14";
与$string='1994-06-14';
的处理方式不同。
尝试使用以下示例:
<input type="text" name="date_input" value="<?php echo htmlspecialchars($date); ?>" />