©
Ce document utilise Manuel du site Web PHP chinois Libérer
(PECL mongo >=0.8.1)
Represent date objects for the database. This class should be used to save dates to the database and to query for dates. For example:
Example #1 Storing dates with MongoDate
<?php
// save a date to the database
$collection -> save (array( "ts" => new MongoDate ()));
$start = new MongoDate ( strtotime ( "2010-01-15 00:00:00" ));
$end = new MongoDate ( strtotime ( "2010-01-30 00:00:00" ));
// find dates between 1/15/2010 and 1/30/2010
$collection -> find (array( "ts" => array( '$gt' => $start , '$lte' => $end )));
?>
MongoDB stores dates as milliseconds past the epoch. This means that dates do not contain timezone information. Timezones must be stored in a separate field if needed. Second, this means that any precision beyond milliseconds will be lost when the document is sent to/from the database.
$sec
= time()
[, int $usec
= 0
]] )[#1] richard at securebucket dot com [2012-02-17 15:32:28]
I wanted a way to check the age of a record. This code will calculate the time between the creation date of the record, and return the seconds. I use it for caching pages similar to the max-age header in a browser. If the record is older, than my limit it deletes itself.
<?php
function microtime_diff( $start, $end=NULL ) {
if( !$end ) {
$end= microtime();
}
list($start_usec, $start_sec) = explode(" ", $start);
list($end_usec, $end_sec) = explode(" ", $end);
$diff_sec= intval($end_sec) - intval($start_sec);
$diff_usec= floatval($end_usec) - floatval($start_usec);
return floatval( $diff_sec ) + $diff_usec;
}
microtime_diff($cache['stamp']->sec);
?>
[#2] jhonnydcano at yahoo dot com [2010-03-15 11:43:50]
For showing a human readable MongoDate, you can use something like this:
<?php
date('Y-M-d h:i:s', $yourDate->sec);
?>