Types
在线手册:中文 英文
PHP手册

The MongoDate class

(No version information available, might only be in SVN)

简介

Represent date objects for the database. This class should be used to save dates to the database and to query for dates. For example:

<?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.

类摘要

MongoDate {
/* Fields */
public int $sec ;
public int $usec ;
/* 方法 */
public __construct ([ int $sec = time() [, int $usec = 0 ]] )
public string __toString ( void )
}

Table of Contents


Types
在线手册:中文 英文
PHP手册
PHP手册 - N: The MongoDate class

用户评论:

richard at securebucket dot com (17-Feb-2012 11:32)

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.

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);

jhonnydcano at yahoo dot com (15-Mar-2010 07:43)

For showing a human readable MongoDate, you can use something like this:

<?php
date
('Y-M-d h:i:s', $yourDate->sec);
?>