我在html中有日期时间选择器,它会返回日期 当我在php页面中检索数据时
$date=$_POST['date'];
echo $date;
以此格式返回输出
2015年11月13日
我想将其转换为存储在mysql表中
我怎么能将它转换为sql格式存储,因为当我试图存储这个日期mysql stores 0000-00-00默认情况下。我不能采用数据类型varchar,因为我必须根据日期创建视图。
我还需要代码将其再次转换为此格式以此格式显示数据。
答案 0 :(得分:1)
使用MySQL Str_To_Date: -
SELECT str_to_date('13 November 2015','%d %M %Y')
或尝试: -
$date=$_POST['date'];
insert into table (col) values (str_to_date($date,'%d %M %Y'))
或使用PHP strtotime
$time = strtotime('13 November 2015');
$newformat = date('Y-m-d',$time);
答案 1 :(得分:1)
如果您使用PHP > 5.2
,则应使用以下方式。
$date=$_POST['date']; //13 November 2015
echo $date;
$myDateTime = DateTime::createFromFormat('j F Y', $date);
$newDateString = $myDateTime->format('Y-m-d');
echo $newDateString; //2015-11-13
你应该在try...catch
块中使用它,因为它会在失败时抛出异常。
答案 2 :(得分:1)
您可以使用 strtotime 将日期转换为时间戳。
然后,您可以使用日期功能将其转换为您喜欢的格式。
$date = $_POST['date'];
$timestamp = strtotime($date);
$converted_date = date("Y-m-d H:i:s", $timestamp);
// var_dump($converted_date);
答案 3 :(得分:1)
步骤1:提取时间变量(在步骤#2中使用)
第2步:使用上述信息
创建时间戳<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre></pre>
<div id="divforhistoricresults" class="classhistoricaldataresults">
<div class="list-container-2">
<ul class="tabs-2 clearfix">
<li class='default'><a href="#one">Data</a>
</li>
<li><a href="#two">Chart</a>
</li>
</ul>
</div>
<div class="tab-container-2">
<table id="one" class="tab-content-1 table table-striped"></table>
<table id="two" class="tab-content-1 table table-striped"></table>
</div>
</div>
第3步:使用PHP的日期函数:
$timestamp = mktime($hour, $min, $sec, $month, $day, $year);