Javascript 如何使用php转换此日期
如何转换来自javascript的此日期格式:Javascript 如何使用php转换此日期,javascript,php,Javascript,Php,如何转换来自javascript的此日期格式: 2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间) 这些格式不起作用 $date=date('c',标准时间(2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间)); $date=date('Y-m-d h:i:s',标准时间(2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间)); 日期可以追溯到1969年 有什么见解吗?您可以尝试在提交数据时跳过“(巴西利亚标准时间
2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间)
这些格式不起作用
$date=date('c',标准时间(2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间));
$date=date('Y-m-d h:i:s',标准时间(2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间));
日期可以追溯到1969年
有什么见解吗?您可以尝试在提交数据时跳过“(巴西利亚标准时间)”
$date = date('Y-m-d h:i:s', strtotime("Thu Mar 04 2021 18:00:00 GMT-0300"));
var_dump($date);
我得到了这个结果:
字符串(19)“2021-03-04 01:00:00”
编辑:如果可以“跳过”该字符串,则可以执行以下操作:
$strTime = "Thu Mar 04 2021 18:00:00 GMT-0300 (Brasilia Standard Time)";
$strTime = str_replace($strTime, ""," (Brasilia Standard Time)");
$date = date('Y-m-d h:i:s', strtotime($strTime));
var_dump($date);
输出:
字符串(19)“1969-12-3104:00:00”
我建议使用现代DateTime接口并指定适当的格式,而不是让PHP尝试猜测如何解释日期字符串。您也可以使用
+
说明符忽略尾随数据,而不必事先编辑输入
$string='2021年3月4日星期四18:00:00 GMT-0300(巴西利亚标准时间)';
$date=DateTime::createFromFormat('D M D Y H:i:s T+',$string);
变量转储($date,$date->format('c');
输出:
object(DateTime)#1 (3) {
["date"]=>
string(26) "2021-03-04 18:00:00.000000"
["timezone_type"]=>
int(1)
["timezone"]=>
string(6) "-03:00"
}
string(25) "2021-03-04T18:00:00-03:00"
有什么方法可以改变JS传递数据的方式吗?一旦你删除了用自然语言编写的时区部分–strotime('Thu Mar 04 2021 18:00:00 GMT-0300')。你修复了javascript代码,以在parasable中发送日期format@CBroe是的,很有效,谢谢!!就是这样,谢谢!