在PHP中转换日期格式

ami*_*osh 1 php mysql sql

我得到一个日期格式,如Mon Apr 22 2013 12:16:00 GMT+0530(印度标准时间)形成一个JavaScript到我的PHP功能.

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

任何人都可以帮我转换这个日期类型.

我试过了:

date("Y-m-d H:i:s",$startDate);
Run Code Online (Sandbox Code Playgroud)

但它给出了错误

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

und*_*ore 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));
Run Code Online (Sandbox Code Playgroud)

(请参阅PHP站点上的strtotime日期文档).

或使用 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
?>
Run Code Online (Sandbox Code Playgroud)

DEMO

  • @amitghosh - 只需使用字符串操作来删除邮票的`(印度标准时间)`部分...你已经指定了时区(`GMT + 0530`).尝试`$ startDate = preg_replace("/\((.*?)\)/","",$ startDate)`然后运行`$ date = new DateTime($ source); echo $ date-> format("Ymd H:i:s"); // 22 2013 12:16:00` (2认同)