MongoDate::__construct

(PECL mongo >= 0.8.1)

MongoDate::__constructCrée une nouvelle date

Description

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )

Créée une nouvelle date. Si aucun paramètre n'est donné, la date courante est utilisée.

Liste de paramètres

sec

Le nombre de secondes depuis l'époque (i.e. 1 Jan 1970 00:00:00.000 UTC).

usec

Le nombre de microsecondes. Attention, l'unité en MongoDB est la milliseconde, et non la microseconde, ce qui signifie que la valeur sera tronquée à l'unité milliseconde.

Valeurs de retour

Retourne la nouvelle date.

Exemples

Exemple #1 Exemple avec MongoDate::__construct()

Cet exemple montre comment créer une date à partir de la date et l'heure courante, et une date à partir d'un timestamp.

<?php

$d 
= new MongoDate();
echo 
"$d\n";
$d = new MongoDate(1234567890);
echo 
"$d\n";
$d = new MongoDate(strtotime("2009-05-01 00:00:01"));
echo 
"$d\n";

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

0.23660600 1235685067
0.00000000 1234567890
0.00000000 1241150401

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
1
gb at tekkie dot ro
11 years ago
Please note that the second parameter should be a microseconds value, not a miliseconds one, as stated in the documentation.

I am using the code below to show you what I mean:
<?php
    $example
= new \DateTime('2013-09-22T10:41:44.451999');
   
$seconds = $example->getTimestamp();

   
// this is what documentation misleads you to think is needed
   
$miliseconds = floor($example->format('u') / 1000);

   
// this is what you should really use
   
$microseconds = $example->format('u');
   
$fullToString = $example->format('Y-m-d\TH:i:s.uP');

   
$collection->insert(array(
       
'timeMicroseconds' => new \MongoDate($seconds, $microseconds),
       
'toString' => $fullToString,
    ));
   
$collection->insert(array(
       
'timeMiliseconds' => new \MongoDate($seconds, $miliseconds),
       
'toString' => $fullToString,
    ));
?>

Let's take a look in the database to see what is really stored:
{
    "_id" : ObjectId("523f07cfc2b581eb7f069b1d"),
    "timeMicroseconds" : ISODate("2013-09-22T07:41:44.451Z"),
    "toString" : "2013-09-22T10:41:44.451999+03:00"
}

{
    "_id" : ObjectId("523f07cfc2b581eb7f069b1e"),
    "timeMiliseconds" : ISODate("2013-09-22T07:41:44.000Z"),
    "toString" : "2013-09-22T10:41:44.451999+03:00"
}
To Top