1

我得到了一个日期格式,比如Mon Apr 22 2013 12:16:00 GMT+0530(印度标准时间),我的 php 函数形成了一个 javascript。

我想以“2013-04-22 12:16:00”格式将其存储到我的数据库表中。

谁能帮我转换这种日期类型。

我试过了:

date("Y-m-d H:i:s",$startDate);

但它给出了错误

date() 期望参数 2 是给定的长字符串

4

3 回答 3

5

使用 strtotime() 和 date():

$originalDate = "Mon Apr 22 2013 12:16:00 GMT+0530 (India Standard Time)" ;
$newDate = date("Y-m-d H:i:s", strtotime($originalDate));

(请参阅PHP 站点上的strtotimedate文档)。

或使用 日期时间:

<?php
$source = "Mon Apr 22 2013 12:16:00 GMT+0530 (India Standard Time)";
$date = new DateTime($source);
echo $date->format("Y-m-d H:i:s"); // 22 2013 12:16:00
echo $date->format("Y-m-d H:i:s"); // 22 2013 12:16:00
?>

演示

于 2013-04-27T19:45:02.553 回答
2

尝试使用strtotime将时间戳转换为 unix 格式,以便您可以在date()函数中使用它:

date("Y-m-d H:i:s",strtotime($startDate));

您也可以尝试使用(通常包含的)DateTime类。特别是,看看DateTime::createFromFormat。它可以帮助您解决日期字符串中的歧义(strtotime()有时会失败或错误解析日期字符串)。DateTime::createFromFormat允许您专门指定日期字符串的格式,以免产生歧义。

于 2013-04-27T19:45:31.597 回答
0

首先你需要把它保存为时间戳所以,

$startDate = strtotime($javascript_value);    
$result =  date("Y-m-d H:i:s",$startDate);
于 2013-04-27T19:46:24.883 回答