保存在数据库中时的日期格式错误

时间:2016-03-12 22:23:37

标签: php json mysqli format

我正在尝试使用从ajax post请求收到的日期将日期存储在数据库中。邮寄请求成功,收到的日期格式正确。 控制台中的“网络”选项卡显示发布日期的格式数据:

     start:Mon Mar 07 2016 00:00:00 GMT+0000
     end:Thu Mar 10 2016 00:00:00 GMT+0000

然而,当我使用以下php代码将其保存在数据库中时,它只保存在今天的日期:

  $json_array["start"]=json_decode($_POST["start"], true);
  $json_array["end"]=json_decode($_POST["end"], true);

  $start = new DateTime($json_array['start']);
  $end = new DateTime($json_array['end']);

  $start =$start->format("Y-m-d H:i:s");
  $end =$end->format("Y-m-d H:i:s");

当我使用它时,它会在1969年12月31日晚上7点保存它:

   $json_array["start"]=json_decode($_POST["start"], true);
   $json_array["end"]=json_decode($_POST["end"], true);
   $start =date("Y-m-d H:i:s",$json_array["start"]);
   $end =date("Y-m-d H:i:s",$json_array["end"]);

任何人都可以指导我错在哪里,我感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我不相信发布的数据是json,而只是一个简单的字符串 (你的评论告诉我,我是对的)

所以删除json_decode

Xamarin.Forms.View

并将以下行更改为

$json_array["start"]=json_decode($_POST["start"], true);
$json_array["end"]=json_decode($_POST["end"], true);

你应该没事!

当然你应该首先检查那个POST中的内容并检查错误,isset()aso ..... in real life code