PHP / SQL - 日期时间格式搞砸了PHP Side

时间:2016-04-19 11:43:39

标签: php datetime

我在数据库中存储日期时间戳(SQL Server)。 我只是用它来获取当前时间:db.collection.aggregate( [ { '$geoNear': { 'near': { 'type': 'Point', 'coordinates': [ -77.395410 , 38.967995 ] }, 'spherical': true, 'distanceField': 'dist', 'maxDistance': 5000 } }, { $match:{_id:{$nin: [ObjectId("5716163704ca42c7b579c7e3")]}} } ]); 哪个工作正常。

在数据库中它看起来完全相同(格式),但是,当我从数据库中获取日期时间时格式完全关闭。

例如,日期在数据库中显示为date('Y-m-d H:i:s'),但当我在PHP中读取数据时,它变为19-4-2016 13:29:36

我从数据库中读取它的代码:

apr 19 2016 01:29:36:000

$dateFromDB = /* Sql query here.. */; $myTimestamp = date('Y-m-d H:i:s', strtotime($dateFromDB)); 变量回声:$dateFromDB

apr 19 2016 01:29:36:000回声:$myTimestamp

日期作为1970-01-01 01:00:00存储在数据库中,请注意日期格式在数据库表中看起来很好,当它被读取时它被搞砸了PHP方面。

在数据库中看起来像这样: enter image description here

2 个答案:

答案 0 :(得分:2)

来自问题:日期例如在数据库中显示为19-4-2016 13:29:36

数据库中

19-4-2016 13:29:36格式应为2016-04-19 13:29:36 (Y-m-d H:i:s)

答案 1 :(得分:0)

@Dubb: - 我使用相同的日期存储在数据库中,然后尝试检索它。我可以使用与之前存储的格式相同的格式进行检索。我使用此代码从数据库中获取: -

if ($result->num_rows > 0) 
{
   // output data of each row
   while($row = $result->fetch_assoc()) 
   {
     $ff =  $row["dates"];
     echo date('Y-m-d H:i:s', strtotime($ff)) . "<br>";
   }
} 
else 
{
   echo "0 results";
}

如果可能,请描述您的表格列格式