我在将我的日期输入SQL表时遇到一些问题。 我不使用datetime,而是使用date。
这是我使用的代码,问题是我的SQL服务器无法将$ date_add识别为日期,只是将default 0000-00-00放在日期部分......
if (isset($_POST['postbutton'])){
$articlepost = nl2br($_POST['article'])."<br>";
date_default_timezone_set('Europe/Oslo');
$datepic = date(YYYY-MM-DD);
$pictureurls = $_SESSION['urlpost'];
$thumbnail = 123;
$title = $_POST['title'];
$date_add = $datepic;
$articlepostimg = $articlepost.$pictureurls;
$insertpost = $db->prepare("INSERT INTO posts (title,post,date_add,thumbnail) VALUES (:title,:post,:date_add,:thumbnail)");
$insertpost->execute(array(':title' => $title, ':post' => $articlepostimg, ':date_add' => $date_add, ':thumbnail' => $thumbnail));
unset($_SESSION['urlpost']);
}
以下是我提交表单后在数据库中看到的内容:
答案 0 :(得分:1)
尝试以下方法:
$datepic = date("Y-m-d");
Here是date()
至于评论中添加的问题,在检索日期后,您需要执行以下操作,其中$orig_date
分配了从数据库中检索的日期。至于将其转换为挪威语,我认为你必须调查setlocale()
,我认为这是一个不同的问题。
$formatted_date = date('j, M Y', strtotime($orig_date));
答案 1 :(得分:0)
您需要使用双引号或引号才能使date()
功能正常工作
$datepic = date('YYYY-MM-DD');
答案 2 :(得分:0)
这只是为了在看到OP要求用挪威语进行语言转换后添加已经给出的答案,并且绝不是要踩到任何人的脚,而是作为一个免费的答案。
您可以使用法语版的以下月份转换代码,但您可以使用挪威语轻松修改它。
请注意,“火星”的拼写方式相同。
(取自我自己的代码库)
<?php
// enter date format 2011-01-31 (Y-m-d)
function date_in_french ($date){
$week_name = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$month_name=array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août",
"Septembre","Octobre","Novembre","Décembre");
$split = preg_split('/-/', $date);
$year = $split[0];
$month = round($split[1]);
$day = round($split[2]);
$week_day = date("w", mktime(12, 0, 0, $month, $day, $year));
return $date_fr = $week_name[$week_day] .' '. $day .' '. $month_name[$month] .' '. $year;
}
$currentDate=date('Y-m-d');
echo "Current Date: ";
echo date('D')." ".date('d')." ".date('M')." ".date('Y');
echo "<br>";
echo "Date in French => ".date_in_french($currentDate);
?>