Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用php转换此日期_Javascript_Php - Fatal编程技术网

Javascript 如何使用php转换此日期

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年 有什么见解吗?您可以尝试在提交数据时跳过“(巴西利亚标准时间

如何转换来自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年

有什么见解吗?

您可以尝试在提交数据时跳过“(巴西利亚标准时间)”

$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是的,很有效,谢谢!!就是这样,谢谢!