downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

MongoDate::__construct> <MongoCode::__toString
[edit] Last updated: Fri, 25 May 2012

view this page in

MongoDate クラス

(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)

導入

データベースの日付オブジェクトを表します。日付をデータベースに保存したり、 日付を問い合わせたりするときにはこのクラスを使わなければなりません。 次のように使います。

<?php

// 日付をデータベースに保存します
$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"));

// 2010/1/15 から 2010/1/30 までの日付を検索します
$collection->find(array("ts" => array('$gt' => $start'$lte' => $end)));

?>

MongoDB は、日付データをエポックからの経過ミリ秒数で格納します。 つまり、日付にはタイムゾーンの情報が 含まれないということです。 タイムゾーンが必要なら、別のフィールドを用意する必要があります。 また、データベースとの間でドキュメントをやりとりすると、 ミリ秒より細かい単位の情報は失われてしまいます。

クラス概要

MongoDate {
/* フィールド */
public int $sec ;
public int $usec ;
/* メソッド */
public __construct ([ int $sec = time() [, int $usec = 0 ]] )
public string __toString ( void )
}

目次



add a note add a note User Contributed Notes MongoDate
richard at securebucket dot com 17-Feb-2012 03: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.

<?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);
?>
jhonnydcano at yahoo dot com 15-Mar-2010 11:43
For showing a human readable MongoDate, you can use something like this:

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

 
show source | credits | stats | sitemap | contact | advertising | mirror sites