转换日期到php中的sql formate并将其存储到数据库

时间:2015-11-06 07:37:23

标签: php html mysql sql-server date

我在html中有日期时间选择器,它会返回日期 当我在php页面中检索数据时

$date=$_POST['date'];
echo $date;

以此格式返回输出

2015年11月13日

我想将其转换为存储在mysql表中

我怎么能将它转换为sql格式存储,因为当我试图存储这个日期mysql stores 0000-00-00默认情况下。我不能采用数据类型varchar,因为我必须根据日期创建视图。

我还需要代码将其再次转换为此格式以此格式显示数据。

4 个答案:

答案 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);

参考: http://php.net/manual/en/function.date.php#example-2514