我从我的php函数中获取了一个类似Mon Apr 22 2013 12:16:00 GMT+0530
(印度标准时间)的日期格式javascript。
我想以“2013-04-22 12:16:00”格式将其存储到我的数据库表中。
任何人都可以帮我转换这个日期类型。
我试过了:
date("Y-m-d H:i:s",$startDate);
但它正在给出错误
date()期望参数2为长字符串
答案 0 :(得分: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));
或使用DateTime:
<?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
?>
答案 1 :(得分:2)
尝试使用strtotime
将时间戳转换为unix格式,以便在date()
函数中使用它:
date("Y-m-d H:i:s",strtotime($startDate));
您也可以尝试使用(通常包含的)DateTime
类。特别是,请查看DateTime::createFromFormat
。它可以帮助您解决日期字符串中的歧义(strtotime()
有时会失败或错误解析日期字符串)。 DateTime::createFromFormat
允许您专门指定日期字符串的格式,因此不会产生歧义。
答案 2 :(得分:0)
首先,您需要将其另存为时间戳,
$startDate = strtotime($javascript_value);
$result = date("Y-m-d H:i:s",$startDate);