MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como retornar o formato de data ISO em PHP para MongoDB?


Você pode executar o __toString ou use a função sec campo

__toString retornará um timestamp em usecs, que você pode passar para date() depois de separar os segundos dos milissegundos - leia aqui:http://us1.php.net/manual/en/mongodate.tostring.php

OU, eu pessoalmente prefiro que o mongodb retorne apenas os segundos, que podem ser conectados diretamente em date() - leia aqui:http://php.net/manual/en/class.mongodate.php

Além disso, se você está gerando um MongoDate() para agora, você não precisa especificar time();

Para retornar uma isodate, você precisa fazer isso:
echo date(DATE_ISO8601, (new MongoDate())->sec);

...
$exampleDate = new MongoDate();
echo date(DATE_ISO8601, $exampleDate->sec);

EDIT:Para salvar sua data ISO, você precisa fazer o seguinte:
$mongoDateObject = new MongoDate(strtotime("2012-11-02T08:40:12.569Z"));