ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 4927


Ignore:
Timestamp:
Jan 12, 2008, 5:38:20 AM (12 years ago)
Author:
ebihara
Message:

#1753:PEAR::Dateのバージョンを1.4.6 から 1.4.7 に上げた

Location:
OpenPNE/trunk/lib/include
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/lib/include/Date.php

    r2 r4927  
    11<?php
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    3 //
    4 // +----------------------------------------------------------------------+
    5 // | Copyright (c) 1997-2005 Baba Buehler, Pierre-Alain Joye              |
    6 // +----------------------------------------------------------------------+
    7 // | This source file is subject to the New BSD license, That is bundled  |
    8 // | with this package in the file LICENSE, and is available through      |
    9 // | the world-wide-web at                                                |
    10 // | http://www.opensource.org/licenses/bsd-license.php                   |
    11 // | If you did not receive a copy of the new BSDlicense and are unable   |
    12 // | to obtain it through the world-wide-web, please send a note to       |
    13 // | pear-dev@lists.php.net so we can mail you a copy immediately.        |
    14 // +----------------------------------------------------------------------+
    15 // | Author: Baba Buehler <baba@babaz.com>                                |
    16 // |         Pierre-Alain Joye <pajoye@php.net>                           |
    17 // +----------------------------------------------------------------------+
     2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
     3
     4// {{{ Header
    185
    196/**
     
    2411 * Date::Calc on Date objects.
    2512 *
     13 * PHP versions 4 and 5
     14 *
     15 * LICENSE:
     16 *
     17 * Copyright (c) 1997-2006 Baba Buehler, Pierre-Alain Joye
     18 * All rights reserved.
     19 *
     20 * Redistribution and use in source and binary forms, with or without
     21 * modification, are permitted under the terms of the BSD License.
     22 *
     23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     26 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     27 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     28 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     29 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     30 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     33 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     34 * POSSIBILITY OF SUCH DAMAGE.
     35 *
    2636 * @category   Date and Time
    2737 * @package    Date
    2838 * @author     Baba Buehler <baba@babaz.com>
    2939 * @author     Pierre-Alain Joye <pajoye@php.net>
    30  * @copyright  1997-2005 The PHP Group
    31  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    32  * @version    CVS: $Id: Date.php,v 1.35 2005/11/15 00:16:38 pajoye Exp $
     40 * @author     Firman Wandayandi <firman@php.net>
     41 * @copyright  1997-2006 Baba Buehler, Pierre-Alain Joye
     42 * @license    http://www.opensource.org/licenses/bsd-license.php
     43 *             BSD License
     44 * @version    CVS: $Id: Date.php,v 1.41 2006/11/22 00:28:03 firman Exp $
    3345 * @link       http://pear.php.net/package/Date
    3446 */
    3547
    36 /**@#+
    37  * Include supporting classes
     48// }}}
     49
     50// {{{ Includes
     51
     52/**
     53 * Load Date_TimeZone.
    3854 */
    3955require_once 'Date/TimeZone.php';
     56
     57/**
     58 * Load Date_Calc.
     59 */
    4060require_once 'Date/Calc.php';
     61
     62/**
     63 * Load Date_Span.
     64 */
    4165require_once 'Date/Span.php';
    42 /**@#-*/
    43 
    44 /**@#+
    45  * Output formats.  Pass this to getDate().
    46  */
     66
     67// }}}
     68// {{{ Constants
     69
     70// {{{ Output formats Pass this to getDate().
     71
    4772/**
    4873 * "YYYY-MM-DD HH:MM:SS"
    4974 */
    5075define('DATE_FORMAT_ISO', 1);
     76
    5177/**
    5278 * "YYYYMMSSTHHMMSS(Z|(+/-)HHMM)?"
    5379 */
    5480define('DATE_FORMAT_ISO_BASIC', 2);
     81
    5582/**
    5683 * "YYYY-MM-SSTHH:MM:SS(Z|(+/-)HH:MM)?"
    5784 */
    5885define('DATE_FORMAT_ISO_EXTENDED', 3);
     86
    5987/**
    6088 * "YYYY-MM-SSTHH:MM:SS(.S*)?(Z|(+/-)HH:MM)?"
    6189 */
    6290define('DATE_FORMAT_ISO_EXTENDED_MICROTIME', 6);
     91
    6392/**
    6493 * "YYYYMMDDHHMMSS"
    6594 */
    6695define('DATE_FORMAT_TIMESTAMP', 4);
     96
    6797/**
    6898 * long int, seconds since the unix epoch
    6999 */
    70100define('DATE_FORMAT_UNIXTIME', 5);
    71 /**@#-*/
     101
     102// }}}
     103
     104// }}}
     105// {{{ Class: Date
    72106
    73107/**
     
    80114 * @author     Baba Buehler <baba@babaz.com>
    81115 * @author     Pierre-Alain Joye <pajoye@php.net>
    82  * @copyright  1997-2005 The PHP Group
    83  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    84  * @version    Release: 1.4.6
     116 * @author     Firman Wandayandi <firman@php.net>
     117 * @copyright  1997-2006 Baba Buehler, Pierre-Alain Joye
     118 * @license    http://www.opensource.org/licenses/bsd-license.php
     119 *             BSD License
     120 * @version    Release: 1.4.7
    85121 * @link       http://pear.php.net/package/Date
    86122 */
    87123class Date
    88124{
     125    // {{{ Properties
     126
    89127    /**
    90128     * the year
     
    92130     */
    93131    var $year;
     132
    94133    /**
    95134     * the month
     
    97136     */
    98137    var $month;
     138
    99139    /**
    100140     * the day
     
    102142     */
    103143    var $day;
     144
    104145    /**
    105146     * the hour
     
    107148     */
    108149    var $hour;
     150
    109151    /**
    110152     * the minute
     
    112154     */
    113155    var $minute;
     156
    114157    /**
    115158     * the second
     
    117160     */
    118161    var $second;
     162
    119163    /**
    120164     * the parts of a second
     
    136180    var $getWeekdayAbbrnameLength = 3;
    137181
     182    // }}}
     183    // {{{ Constructor
    138184
    139185    /**
     
    163209    }
    164210
     211    // }}}
     212    // {{{ setDate()
     213
    165214    /**
    166215     * Set the fields of a Date object based on the input date and format
     
    177226    function setDate($date, $format = DATE_FORMAT_ISO)
    178227    {
    179 
    180228        if (
    181229            preg_match('/^(\d{4})-?(\d{2})-?(\d{2})([T\s]?(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?(Z|[\+\-]\d{2}:?\d{2})?)?$/i', $date, $regs)
     
    215263        }
    216264    }
     265
     266    // }}}
     267    // {{{ getDate()
    217268
    218269    /**
     
    262313    }
    263314
     315    // }}}
     316    // {{{ copy()
     317
    264318    /**
    265319     * Copy values from another Date object
     
    280334        $this->tz = $date->tz;
    281335    }
     336
     337    // }}}
     338    // {{{ format()
    282339
    283340    /**
     
    458515    }
    459516
     517    // }}}
     518    // {{{ getTime()
     519
    460520    /**
    461521     * Get this date/time in Unix time() format
     
    471531        return $this->getDate(DATE_FORMAT_UNIXTIME);
    472532    }
     533
     534    // }}}
     535    // {{{ setTZ()
    473536
    474537    /**
     
    487550    function setTZ($tz)
    488551    {
    489         if(is_a($tz, 'Date_Timezone')) {
    490                 $this->tz = $tz;
    491         } else {
    492                 $this->setTZbyID($tz);
    493         }
    494     }
     552        if(is_a($tz, 'Date_Timezone')) {
     553            $this->tz = $tz;
     554        } else {
     555            $this->setTZbyID($tz);
     556        }
     557    }
     558
     559    // }}}
     560    // {{{ setTZbyID()
    495561
    496562    /**
     
    515581    }
    516582
     583    // }}}
     584    // {{{ inDaylightTime()
     585
    517586    /**
    518587     * Tests if this date/time is in DST
     
    530599    }
    531600
     601    // }}}
     602    // {{{ toUTC()
     603
    532604    /**
    533605     * Converts this date to UTC and sets this date's timezone to UTC
     
    546618        $this->tz = new Date_TimeZone('UTC');
    547619    }
     620
     621    // }}}
     622    // {{{ convertTZ()
    548623
    549624    /**
     
    574649        $this->tz = $tz;
    575650    }
     651
     652    // }}}
     653    // {{{ convertTZbyID()
    576654
    577655    /**
     
    596674    }
    597675
     676    // }}}
     677    // {{{ toUTCbyOffset()
     678
    598679    function toUTCbyOffset($offset)
    599680    {
     
    626707    }
    627708
     709    // }}}
     710    // {{{ addSeconds()
     711
    628712    /**
    629713     * Adds a given number of seconds to the date
     
    636720    function addSeconds($sec)
    637721    {
    638         $this->addSpan(new Date_Span((integer)$sec));
    639     }
     722        settype($sec, 'int');
     723
     724        // Negative value given.
     725        if ($sec < 0) {
     726            $this->subtractSeconds(abs($sec));
     727            return;
     728        }
     729
     730        $this->addSpan(new Date_Span($sec));
     731    }
     732
     733    // }}}
     734    // {{{ addSpan()
    640735
    641736    /**
     
    687782    }
    688783
     784    // }}}
     785    // {{{ subtractSeconds()
     786
    689787    /**
    690788     * Subtracts a given number of seconds from the date
     
    697795    function subtractSeconds($sec)
    698796    {
     797        settype($sec, 'int');
     798
     799        // Negative value given.
     800        if ($sec < 0) {
     801            $this->addSeconds(abs($sec));
     802            return;
     803        }
     804
    699805        $this->subtractSpan(new Date_Span($sec));
    700806    }
     807
     808    // }}}
     809    // {{{ subtractSpan()
    701810
    702811    /**
     
    750859        $this->day   = intval($this->day);
    751860    }
     861
     862    // }}}
     863    // {{{ compare()
    752864
    753865    /**
     
    779891    }
    780892
     893    // }}}
     894    // {{{ before()
     895
    781896    /**
    782897     * Test if this date/time is before a certain date/time
     
    797912    }
    798913
     914    // }}}
     915    // {{{ after()
     916
    799917    /**
    800918     * Test if this date/time is after a certian date/time
     
    815933    }
    816934
     935    // }}}
     936    // {{{ equals()
     937
    817938    /**
    818939     * Test if this date/time is exactly equal to a certian date/time
     
    832953        }
    833954    }
     955
     956    // }}}
     957    // {{{ isFuture()
    834958
    835959    /**
     
    851975    }
    852976
     977    // }}}
     978    // {{{ isPast()
     979
    853980    /**
    854981     * Determine if this date is in the past
     
    869996    }
    870997
     998    // }}}
     999    // {{{ isLeapYear()
     1000
    8711001    /**
    8721002     * Determine if the year in this date is a leap year
     
    8821012    }
    8831013
     1014    // }}}
     1015    // {{{ getJulianDate()
     1016
    8841017    /**
    8851018     * Get the Julian date for this date
     
    8951028    }
    8961029
     1030    // }}}
     1031    // {{{ getDayOfWeek()
     1032
    8971033    /**
    8981034     * Gets the day of the week for this date
     
    9081044    }
    9091045
     1046    // }}}
     1047    // {{{ getWeekOfYear()
     1048
    9101049    /**
    9111050     * Gets the week of the year for this date
     
    9211060    }
    9221061
     1062    // }}}
     1063    // {{{ getQuarterOfYear()
     1064
    9231065    /**
    9241066     * Gets the quarter of the year for this date
     
    9341076    }
    9351077
     1078    // }}}
     1079    // {{{ getDaysInMonth()
     1080
    9361081    /**
    9371082     * Gets number of days in the month for this date
     
    9471092    }
    9481093
     1094    // }}}
     1095    // {{{ getWeeksInMonth()
     1096
    9491097    /**
    9501098     * Gets the number of weeks in the month for this date
     
    9591107        return Date_Calc::weeksInMonth($this->month, $this->year);
    9601108    }
     1109
     1110    // }}}
     1111    // {{{ getDayName()
    9611112
    9621113    /**
     
    9781129    }
    9791130
     1131    // }}}
     1132    // {{{ getMonthName()
     1133
    9801134    /**
    9811135     * Gets the full name or abbriviated name of this month
     
    9951149        }
    9961150    }
     1151
     1152    // }}}
     1153    // {{{ getNextDay()
    9971154
    9981155    /**
     
    10141171    }
    10151172
     1173    // }}}
     1174    // {{{ getPrevDay()
     1175
    10161176    /**
    10171177     * Get a Date object for the day before this one
     
    10321192    }
    10331193
     1194    // }}}
     1195    // {{{ getNextWeekday()
     1196
    10341197    /**
    10351198     * Get a Date object for the weekday after this one
     
    10501213    }
    10511214
     1215    // }}}
     1216    // {{{ getPrevWeekday()
     1217
    10521218    /**
    10531219     * Get a Date object for the weekday before this one
     
    10681234    }
    10691235
     1236    // }}}
     1237    // {{{ getYear()
    10701238
    10711239    /**
     
    10821250    }
    10831251
     1252    // }}}
     1253    // {{{ getMonth()
     1254
    10841255    /**
    10851256     * Returns the month field of the date object
     
    10951266    }
    10961267
     1268    // }}}
     1269    // {{{ getDay()
     1270
    10971271    /**
    10981272     * Returns the day field of the date object
     
    11081282    }
    11091283
     1284    // }}}
     1285    // {{{ getHour()
     1286
    11101287    /**
    11111288     * Returns the hour field of the date object
     
    11211298    }
    11221299
     1300    // }}}
     1301    // {{{ getMinute()
     1302
    11231303    /**
    11241304     * Returns the minute field of the date object
     
    11341314    }
    11351315
     1316    // }}}
     1317    // {{{ getSecond()
     1318
    11361319    /**
    11371320     * Returns the second field of the date object
     
    11461329         return $this->second;
    11471330    }
     1331
     1332    // }}}
     1333    // {{{ setYear()
    11481334
    11491335    /**
     
    11641350    }
    11651351
     1352    // }}}
     1353    // {{{ setMonth()
     1354
    11661355    /**
    11671356     * Set the month field of the date object
     
    11811370    }
    11821371
     1372    // }}}
     1373    // {{{ setDay()
     1374
    11831375    /**
    11841376     * Set the day field of the date object
     
    11981390    }
    11991391
     1392    // }}}
     1393    // {{{ setHour()
     1394
    12001395    /**
    12011396     * Set the hour field of the date object
     
    12161411    }
    12171412
     1413    // }}}
     1414    // {{{ setMinute()
     1415
    12181416    /**
    12191417     * Set the minute field of the date object
     
    12321430        }
    12331431    }
     1432
     1433    // }}}
     1434    // {{{ setSecond()
    12341435
    12351436    /**
     
    12481449        }
    12491450    }
     1451
     1452    // }}}
    12501453}
    12511454
     1455// }}}
     1456
     1457/*
     1458 * Local variables:
     1459 * mode: php
     1460 * tab-width: 4
     1461 * c-basic-offset: 4
     1462 * c-hanging-comment-ender-p: nil
     1463 * End:
     1464 */
    12521465?>
  • OpenPNE/trunk/lib/include/Date/Calc.php

    r2 r4927  
    11<?php
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    3 //
    4 // +----------------------------------------------------------------------+
    5 // | Copyright (c) 1997-2005 Baba Buehler, Pierre-Alain Joye              |
    6 // +----------------------------------------------------------------------+
    7 // | This source file is subject to the New BSD license, That is bundled  |
    8 // | with this package in the file LICENSE, and is available through      |
    9 // | the world-wide-web at                                                |
    10 // | http://www.opensource.org/licenses/bsd-license.php                   |
    11 // | If you did not receive a copy of the new BSDlicense and are unable   |
    12 // | to obtain it through the world-wide-web, please send a note to       |
    13 // | pear-dev@lists.php.net so we can mail you a copy immediately.        |
    14 // +----------------------------------------------------------------------+
    15 // | Author: Baba Buehler <baba@babaz.com>                                |
    16 // |         Pierre-Alain Joye <pajoye@php.net>                           |
    17 // +----------------------------------------------------------------------+
     2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
     3
     4// {{{ Header
    185
    196/**
     
    2512 * PHP versions 4 and 5
    2613 *
     14 * LICENSE:
     15 *
     16 * Copyright (c) 1999-2006 Monte Ohrt, Pierre-Alain Joye, Daniel Convissor
     17 * All rights reserved.
     18 *
     19 * Redistribution and use in source and binary forms, with or without
     20 * modification, are permitted under the terms of the BSD License.
     21 *
     22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     25 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     26 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     28 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     29 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     30 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     32 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     33 * POSSIBILITY OF SUCH DAMAGE.
     34 *
    2735 * @category   Date and Time
    2836 * @package    Date
     
    3038 * @author     Pierre-Alain Joye <pajoye@php.net>
    3139 * @author     Daniel Convissor <danielc@php.net>
    32  * @copyright  1999-2005  Monte Ohrt, Pierre-Alain Joye, Daniel Convissor
    33  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    34  * @version    CVS: $Id: Calc.php,v 1.33 2005/11/15 00:16:39 pajoye Exp $
     40 * @copyright  1999-2006 Monte Ohrt, Pierre-Alain Joye, Daniel Convissor
     41 * @license    http://www.opensource.org/licenses/bsd-license.php
     42 *             BSD License
     43 * @version    CVS: $Id: Calc.php,v 1.35 2006/11/21 23:01:13 firman Exp $
    3544 * @link       http://pear.php.net/package/Date
    3645 * @since      File available since Release 1.2
    3746 */
    3847
     48// }}}
     49
    3950if (!defined('DATE_CALC_BEGIN_WEEKDAY')) {
    4051    /**
     
    5465     * this constant before including Calc.php.
    5566     *
    56      * @since Constant available since Release 1.5.0
     67     * @since Constant available since Release 1.4.4
    5768     */
    5869    define('DATE_CALC_FORMAT', '%Y%m%d');
    5970}
     71
     72// {{{ Class: Date_Calc
    6073
    6174/**
     
    6780 * @author     Monte Ohrt <monte@ispi.net>
    6881 * @author     Daniel Convissor <danielc@php.net>
    69  * @copyright  1999, 2002, 2003 ispi
    70  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    71  * @version    Release: 1.4.6
     82 * @copyright  1999-2006 Monte Ohrt, Pierre-Alain Joye, Daniel Convissor
     83 * @license    http://www.opensource.org/licenses/bsd-license.php
     84 *             BSD License
     85 * @version    Release: 1.4.7
    7286 * @link       http://pear.php.net/package/Date
    7387 * @since      Class available since Release 1.2
     
    7589class Date_Calc
    7690{
     91    // {{{ dateFormat()
     92
    7793    /**
    7894     * Formats the date in the given format, much like strfmt()
     
    191207    }
    192208
     209    // }}}
     210    // {{{ defaultCentury()
     211
    193212    /**
    194213     * Turns a two digit year into a four digit year
     
    214233        }
    215234    }
     235
     236    // }}}
     237    // {{{ dateToDays()
    216238
    217239    /**
     
    251273    }
    252274
     275    // }}}
     276    // {{{ daysToDate()
     277
    253278    /**
    254279     * Converts number of days to a distant unspecified epoch
     
    292317    }
    293318
     319    // }}}
     320    // {{{ gregorianToISO()
     321
    294322    /**
    295323     * Converts from Gregorian Year-Month-Day to ISO Year-WeekNumber-WeekDay
     
    310338     * @static
    311339     */
    312     function gregorianToISO($day, $month, $year) {
     340    function gregorianToISO($day, $month, $year)
     341    {
    313342        $mnth = array (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
    314343        $y_isleap = Date_Calc::isLeapYear($year);
     
    364393    }
    365394
     395    // }}}
     396    // {{{ dateSeason()
     397
    366398    /**
    367399     * Determines julian date of the given season
     
    382414     * @static
    383415     */
    384     function dateSeason($season, $year = 0) {
     416    function dateSeason($season, $year = 0)
     417    {
    385418        if ($year == '') {
    386419            $year = Date_Calc::dateNow('%Y');
     
    422455    }
    423456
     457    // }}}
     458    // {{{ dateNow()
     459
    424460    /**
    425461     * Returns the current local date
     
    440476    }
    441477
     478    // }}}
     479    // {{{ getYear()
     480
    442481    /**
    443482     * Returns the current local year in format CCYY
     
    453492    }
    454493
     494    // }}}
     495    // {{{ getMonth()
     496
    455497    /**
    456498     * Returns the current local month in format MM
     
    466508    }
    467509
     510    // }}}
     511    // {{{ getDay()
     512
    468513    /**
    469514     * Returns the current local day in format DD
     
    478523        return Date_Calc::dateNow('%d');
    479524    }
     525
     526    // }}}
     527    // {{{ julianDate()
    480528
    481529    /**
     
    510558    }
    511559
     560    // }}}
     561    // {{{ getWeekdayFullname()
     562
    512563    /**
    513564     * Returns the full weekday name for the given date
     
    538589    }
    539590
     591    // }}}
     592    // {{{ getWeekdayAbbrname()
     593
    540594    /**
    541595     * Returns the abbreviated weekday name for the given date
     
    567621    }
    568622
     623    // }}}
     624    // {{{ getMonthFullname()
     625
    569626    /**
    570627     * Returns the full month name for the given month
     
    587644    }
    588645
     646    // }}}
     647    // {{{ getMonthAbbrname()
     648
    589649    /**
    590650     * Returns the abbreviated month name for the given month
     
    607667        return substr(Date_Calc::getMonthFullname($month), 0, $length);
    608668    }
     669
     670    // }}}
     671    // {{{ getMonthFromFullname()
    609672
    610673    /**
     
    633696    }
    634697
     698    // }}}
     699    // {{{ getMonthNames()
     700
    635701    /**
    636702     * Returns an array of month names
     
    649715    function getMonthNames()
    650716    {
     717        $months = array();
    651718        for ($i = 1; $i < 13; $i++) {
    652719            $months[$i] = strftime('%B', mktime(0, 0, 0, $i, 1, 2001));
     
    655722    }
    656723
     724    // }}}
     725    // {{{ getWeekDays()
     726
    657727    /**
    658728     * Returns an array of week days
     
    671741    function getWeekDays()
    672742    {
     743        $weekdays = array();
    673744        for ($i = 0; $i < 7; $i++) {
    674745            $weekdays[$i] = strftime('%A', mktime(0, 0, 0, 1, $i, 2001));
     
    676747        return $weekdays;
    677748    }
     749
     750    // }}}
     751    // {{{ dayOfWeek()
    678752
    679753    /**
     
    717791    }
    718792
     793    // }}}
     794    // {{{ weekOfYear()
     795
    719796    /**
    720797     * Returns week of the year, first Sunday is first day of first week
     
    746823    }
    747824
     825    // }}}
     826    // {{{ quarterOfYear()
     827
    748828    /**
    749829     * Returns quarter of the year for given date
     
    772852        return $year_quarter;
    773853    }
     854
     855    // }}}
     856    // {{{ daysInMonth()
    774857
    775858    /**
     
    809892        }
    810893    }
     894
     895    // }}}
     896    // {{{ weeksInMonth()
    811897
    812898    /**
     
    848934    }
    849935
     936    // }}}
     937    // {{{ getCalendarWeek()
     938
    850939    /**
    851940     * Return an array with days in week
     
    886975        return $week_array;
    887976    }
     977
     978    // }}}
     979    // {{{ getCalendarMonth()
    888980
    889981    /**
     
    9391031    }
    9401032
     1033    // }}}
     1034    // {{{ getCalendarYear()
     1035
    9411036    /**
    9421037     * Return a set of arrays to construct a calendar year for the given date
     
    9671062    }
    9681063
     1064    // }}}
     1065    // {{{ prevDay()
     1066
    9691067    /**
    9701068     * Returns date of day before given date
     
    9961094    }
    9971095
     1096    // }}}
     1097    // {{{ nextDay()
     1098
    9981099    /**
    9991100     * Returns date of day after given date
     
    10241125        return Date_Calc::daysToDate($days + 1, $format);
    10251126    }
     1127
     1128    // }}}
     1129    // {{{ prevWeekday()
    10261130
    10271131    /**
     
    10611165    }
    10621166
     1167    // }}}
     1168    // {{{ nextWeekday()
     1169
    10631170    /**
    10641171     * Returns date of the next weekday of given date, skipping from
     
    10981205    }
    10991206
     1207    // }}}
     1208    // {{{ prevDayOfWeek()
     1209
    11001210    /**
    11011211     * Returns date of the previous specific day of the week
     
    11401250    }
    11411251
     1252    // }}}
     1253    // {{{ nextDayOfWeek()
     1254
    11421255    /**
    11431256     * Returns date of the next specific day of the week
     
    11851298    }
    11861299
     1300    // }}}
     1301    // {{{ prevDayOfWeekOnOrBefore()
     1302
    11871303    /**
    11881304     * Returns date of the previous specific day of the week
     
    12071323    }
    12081324
     1325    // }}}
     1326    // {{{ nextDayOfWeekOnOrAfter()
     1327
    12091328    /**
    12101329     * Returns date of the next specific day of the week
     
    12281347                                        true);
    12291348    }
     1349
     1350    // }}}
     1351    // {{{ beginOfWeek()
    12301352
    12311353    /**
     
    12631385    }
    12641386
     1387    // }}}
     1388    // {{{ endOfWeek()
     1389
    12651390    /**
    12661391     * Find the month day of the end of week for given date,
     
    12971422    }
    12981423
     1424    // }}}
     1425    // {{{ beginOfPrevWeek()
     1426
    12991427    /**
    13001428     * Find the month day of the beginning of week before given date,
     
    13391467    }
    13401468
     1469    // }}}
     1470    // {{{ beginOfNextWeek()
     1471
    13411472    /**
    13421473     * Find the month day of the beginning of week after given date,
     
    13811512    }
    13821513
     1514    // }}}
     1515    // {{{ beginOfMonth()
     1516
    13831517    /**
    13841518     * Return date of first day of month of given date
     
    13931527     * @static
    13941528     * @see Date_Calc::beginOfMonthBySpan()
    1395      * @deprecated Method deprecated in Release 1.5.0
     1529     * @deprecated Method deprecated in Release 1.4.4
    13961530     */
    13971531    function beginOfMonth($month = 0, $year = 0, $format = DATE_CALC_FORMAT)
     
    14061540    }
    14071541
     1542    // }}}
     1543    // {{{ beginOfPrevMonth()
     1544
    14081545    /**
    14091546     * Returns date of the first day of previous month of given date
     
    14191556     * @static
    14201557     * @see Date_Calc::beginOfMonthBySpan()
    1421      * @deprecated Method deprecated in Release 1.5.0
     1558     * @deprecated Method deprecated in Release 1.4.4
    14221559     */
    14231560    function beginOfPrevMonth($day = 0, $month = 0, $year = 0,
     
    14441581    }
    14451582
     1583    // }}}
     1584    // {{{ endOfPrevMonth()
     1585
    14461586    /**
    14471587     * Returns date of the last day of previous month for given date
     
    14571597     * @static
    14581598     * @see Date_Calc::endOfMonthBySpan()
    1459      * @deprecated Method deprecated in Release 1.5.0
     1599     * @deprecated Method deprecated in Release 1.4.4
    14601600     */
    14611601    function endOfPrevMonth($day = 0, $month = 0, $year = 0,
     
    14811621    }
    14821622
     1623    // }}}
     1624    // {{{ beginOfNextMonth()
     1625
    14831626    /**
    14841627     * Returns date of begin of next month of given date
     
    14941637     * @static
    14951638     * @see Date_Calc::beginOfMonthBySpan()
    1496      * @deprecated Method deprecated in Release 1.5.0
     1639     * @deprecated Method deprecated in Release 1.4.4
    14971640     */
    14981641    function beginOfNextMonth($day = 0, $month = 0, $year = 0,
     
    15191662    }
    15201663
     1664    // }}}
     1665    // {{{ endOfNextMonth()
     1666
    15211667    /**
    15221668     * Returns date of the last day of next month of given date
     
    15321678     * @static
    15331679     * @see Date_Calc::endOfMonthBySpan()
    1534      * @deprecated Method deprecated in Release 1.5.0
     1680     * @deprecated Method deprecated in Release 1.4.4
    15351681     */
    15361682    function endOfNextMonth($day = 0, $month = 0, $year = 0,
     
    15551701        return Date_Calc::dateFormat($day, $month, $year, $format);
    15561702    }
     1703
     1704    // }}}
     1705    // {{{ beginOfMonthBySpan()
    15571706
    15581707    /**
     
    15731722     * @access public
    15741723     * @static
    1575      * @since  Method available since Release 1.5.0
     1724     * @since  Method available since Release 1.4.4
    15761725     */
    15771726    function beginOfMonthBySpan($months = 0, $month = 0, $year = 0,
     
    16131762    }
    16141763
     1764    // }}}
     1765    // {{{ endOfMonthBySpan()
     1766
    16151767    /**
    16161768     * Returns date of the last day of the month in the number of months
     
    16301782     * @access public
    16311783     * @static
    1632      * @since  Method available since Release 1.5.0
     1784     * @since  Method available since Release 1.4.4
    16331785     */
    16341786    function endOfMonthBySpan($months = 0, $month = 0, $year = 0,
     
    16711823    }
    16721824
     1825    // }}}
     1826    // {{{ firstOfMonthWeekday()
     1827
    16731828    /**
    16741829     * Find the day of the week for the first of the month of given date
     
    16921847        return Date_Calc::dayOfWeek('01', $month, $year);
    16931848    }
     1849
     1850    // }}}
     1851    // {{{ NWeekdayOfMonth()
    16941852
    16951853    /**
     
    17391897    }
    17401898
     1899    // }}}
     1900    // {{{ isValidDate()
     1901
    17411902    /**
    17421903     * Returns true for valid date, false for invalid date
     
    17631924        return true;
    17641925    }
     1926
     1927    // }}}
     1928    // {{{ isLeapYear()
    17651929
    17661930    /**
     
    17951959        }
    17961960    }
     1961
     1962    // }}}
     1963    // {{{ isFutureDate()
    17971964
    17981965    /**
     
    18301997    }
    18311998
     1999    // }}}
     2000    // {{{ isPastDate()
     2001
    18322002    /**
    18332003     * Determines if given date is a past date from now
     
    18632033        return false;
    18642034    }
     2035
     2036    // }}}
     2037    // {{{ dateDiff()
    18652038
    18662039    /**
     
    18962069    }
    18972070
     2071    // }}}
     2072    // {{{ compareDates()
     2073
    18982074    /**
    18992075     * Compares two dates
     
    19252101        return ($ndays1 > $ndays2) ? 1 : -1;
    19262102    }
     2103
     2104    // }}}
    19272105}
    19282106
     2107// }}}
     2108
     2109/*
     2110 * Local variables:
     2111 * mode: php
     2112 * tab-width: 4
     2113 * c-basic-offset: 4
     2114 * c-hanging-comment-ender-p: nil
     2115 * End:
     2116 */
    19292117?>
  • OpenPNE/trunk/lib/include/Date/Human.php

    r2 r4927  
    11<?php
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    3 //
    4 // +----------------------------------------------------------------------+
    5 // | Copyright (c) 1997-2005 Allan Kent                                   |
    6 // +----------------------------------------------------------------------+
    7 // | This source file is subject to the New BSD license, That is bundled  |
    8 // | with this package in the file LICENSE, and is available through      |
    9 // | the world-wide-web at                                                |
    10 // | http://www.opensource.org/licenses/bsd-license.php                   |
    11 // | If you did not receive a copy of the new BSDlicense and are unable   |
    12 // | to obtain it through the world-wide-web, please send a note to       |
    13 // | pear-dev@lists.php.net so we can mail you a copy immediately.        |
    14 // +----------------------------------------------------------------------+
    15 // | Author: Allan Kent <allan@lodestone.co.za>                           |
    16 // +----------------------------------------------------------------------+
     2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
     3
     4// {{{ Header
    175
    186/**
     
    2917 * PHP versions 4 and 5
    3018 *
     19 * LICENSE:
     20 *
     21 * Copyright (c) 1997-2006 Allan Kent
     22 * All rights reserved.
     23 *
     24 * Redistribution and use in source and binary forms, with or without
     25 * modification, are permitted under the terms of the BSD License.
     26 *
     27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     28 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     30 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     31 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     32 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     33 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     34 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     35 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     37 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     38 * POSSIBILITY OF SUCH DAMAGE.
     39 *
    3140 * @category   Date and Time
    3241 * @package    Date
    3342 * @author     Allan Kent <allan@lodestone.co.za>
    34  * @copyright  1997-2005 Allan Kent
    35  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    36  * @version    CVS: $Id: Human.php,v 1.5 2005/11/15 00:16:40 pajoye Exp $
     43 * @copyright  1997-2006 Allan Kent
     44 * @license    http://www.opensource.org/licenses/bsd-license.php
     45 *             BSD License
     46 * @version    CVS: $Id: Human.php,v 1.6 2006/11/21 17:38:15 firman Exp $
    3747 * @link       http://pear.php.net/package/Date
    3848 * @since      File available since Release 1.3
    3949 */
     50
     51// }}}
     52// {{{ Class: Date_Human
    4053
    4154/**
     
    5265 * @author     Allan Kent <allan@lodestone.co.za>
    5366 * @copyright  1997-2005 Allan Kent
    54  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    55  * @version    Release: 1.4.6
     67 * @license    http://www.opensource.org/licenses/bsd-license.php
     68 *             BSD License
     69 * @version    Release: 1.4.7
    5670 * @link       http://pear.php.net/package/Date
    5771 * @since      Class available since Release 1.3
     
    5973class Date_Human
    6074{
     75    // {{{ gregorianToHuman()
     76
    6177    /**
    6278     * Returns an associative array containing the converted date information
     
    167183    }
    168184
     185    // }}}
     186    // {{{ humanToGregorian()
     187
    169188    /**
    170189     * Returns unix timestamp for a given Human Calendar date
     
    178197     * @return int unix timestamp of date
    179198     */
    180     function HumanToGregorian($day, $month, $year=0)
     199    function humanToGregorian($day, $month, $year=0)
    181200    {
    182201        /*
     
    207226        return $GregorianTimeStamp;
    208227    }
     228
     229    // }}}
    209230}
     231
     232// }}}
     233
     234/*
     235 * Local variables:
     236 * mode: php
     237 * tab-width: 4
     238 * c-basic-offset: 4
     239 * c-hanging-comment-ender-p: nil
     240 * End:
     241 */
     242?>
  • OpenPNE/trunk/lib/include/Date/Span.php

    r2 r4927  
    11<?php
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    3 //
    4 // +----------------------------------------------------------------------+
    5 // | Copyright (c) 1997-2005  Leandro Lucarella, Pierre-Alain Joye        |
    6 // +----------------------------------------------------------------------+
    7 // | This source file is subject to the New BSD license, That is bundled  |
    8 // | with this package in the file LICENSE, and is available through      |
    9 // | the world-wide-web at                                                |
    10 // | http://www.opensource.org/licenses/bsd-license.php                   |
    11 // | If you did not receive a copy of the new BSDlicense and are unable   |
    12 // | to obtain it through the world-wide-web, please send a note to       |
    13 // | pear-dev@lists.php.net so we can mail you a copy immediately.        |
    14 // +----------------------------------------------------------------------+
    15 // | Author: Baba Buehler <baba@babaz.com>                                |
    16 // |         Pierre-Alain Joye <pajoye@php.net>                           |
    17 // +----------------------------------------------------------------------+
     2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
     3
     4// {{{ Header
    185
    196/**
     
    229 * PHP versions 4 and 5
    2310 *
     11 * LICENSE:
     12 *
     13 * Copyright (c) 1997-2005 Leandro Lucarella, Pierre-Alain Joye
     14 * All rights reserved.
     15 *
     16 * Redistribution and use in source and binary forms, with or without
     17 * modification, are permitted under the terms of the BSD License.
     18 *
     19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     22 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     23 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     25 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     27 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     29 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     30 * POSSIBILITY OF SUCH DAMAGE.
     31 *
    2432 * @category   Date and Time
    2533 * @package    Date
    2634 * @author     Leandro Lucarella <llucax@php.net>
    2735 * @author     Pierre-Alain Joye <pajoye@php.net>
    28  * @copyright  1997-2005 Leandro Lucarella, Pierre-Alain Joye
    29  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    30  * @version    CVS: $Id: Span.php,v 1.8 2005/11/15 00:16:40 pajoye Exp $
     36 * @copyright  1997-2006 Leandro Lucarella, Pierre-Alain Joye
     37 * @license    http://www.opensource.org/licenses/bsd-license.php
     38 *             BSD License
     39 * @version    CVS: $Id: Span.php,v 1.9 2006/11/21 17:38:15 firman Exp $
    3140 * @link       http://pear.php.net/package/Date
    3241 * @since      File available since Release 1.4
    3342 */
     43
     44// }}}
     45// {{{ Includes
    3446
    3547/**
     
    4254 */
    4355require_once 'Date/Calc.php';
     56
     57// }}}
     58// {{{ Constants
    4459
    4560/**
     
    6580define('DATE_SPAN_INPUT_FORMAT_NNSV', 1);
    6681
     82// }}}
     83// {{{ Global Variables
     84
    6785/**
    6886 * Default time format when converting to a string.
     
    7997$GLOBALS['_DATE_SPAN_INPUT_FORMAT'] = DATE_SPAN_INPUT_FORMAT_NNSV;
    8098
     99// }}}
     100// {{{ Class: Date_Span
     101
    81102/**
    82103 * Generic time span handling class for PEAR
    83104 *
    84105 * @author     Leandro Lucarella <llucax@php.net>
    85  * @copyright  1997-2005 The PHP Group
    86  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    87  * @version    Release: 1.4.6
     106 * @author     Pierre-Alain Joye <pajoye@php.net>
     107 * @copyright  1997-2006 Leandro Lucarella, Pierre-Alain Joye
     108 * @license    http://www.opensource.org/licenses/bsd-license.php
     109 *             BSD License
     110 * @version    Release: 1.4.7
    88111 * @link       http://pear.php.net/package/Date
    89112 * @since      Class available since Release 1.4
    90  *
    91  * @todo       Get and set default local input and output formats?
    92113 */
    93 class Date_Span {
     114class Date_Span
     115{
     116    // {{{ Properties
    94117
    95118    /**
     
    112135     */
    113136    var $second;
     137
     138    // }}}
     139    // {{{ Constructor
    114140
    115141    /**
     
    129155        $this->set($time, $format);
    130156    }
     157
     158    // }}}
     159    // {{{ set()
    131160
    132161    /**
     
    166195    }
    167196
     197    // }}}
     198    // {{{ setFromArray()
     199
    168200    /**
    169201     * Set the time span from an array.
     
    207239        return $this->copy($tmp1);
    208240    }
     241
     242    // }}}
     243    // {{{ setFromString()
    209244
    210245    /**
     
    402437    }
    403438
     439    // }}}
     440    // {{{ setFromSeconds()
     441
    404442    /**
    405443     * Set the time span from a total number of seconds.
     
    427465    }
    428466
     467    // }}}
     468    // {{{ setFromMinutes()
     469
    429470    /**
    430471     * Set the time span from a total number of minutes.
     
    441482    }
    442483
     484    // }}}
     485    // {{{ setFromHours()
     486
    443487    /**
    444488     * Set the time span from a total number of hours.
     
    455499    }
    456500
     501    // }}}
     502    // {{{ setFromDays()
     503
    457504    /**
    458505     * Set the time span from a total number of days.
     
    468515        return $this->setFromSeconds(round($days * 86400));
    469516    }
     517
     518    // }}}
     519    // {{{ setFromDateDiff()
    470520
    471521    /**
     
    505555    }
    506556
     557    // }}}
     558    // {{{ copy()
     559
    507560    /**
    508561     * Set the time span from another time object.
     
    526579        }
    527580    }
     581
     582    // }}}
     583    // {{{ format()
    528584
    529585    /**
     
    695751    }
    696752
     753    // }}}
     754    // {{{ toSeconds()
     755
    697756    /**
    698757     * Convert time span to seconds.
     
    708767    }
    709768
     769    // }}}
     770    // {{{ toMinutes()
     771
    710772    /**
    711773     * Convert time span to minutes.
     
    721783    }
    722784
     785    // }}}
     786    // {{{ toHours()
     787
    723788    /**
    724789     * Convert time span to hours.
     
    734799    }
    735800
     801    // }}}
     802    // {{{ toDays()
     803
    736804    /**
    737805     * Convert time span to days.
     
    746814            $this->second / 86400;
    747815    }
     816
     817    // }}}
     818    // {{{ add()
    748819
    749820    /**
     
    760831        );
    761832    }
     833
     834    // }}}
     835    // {{{ substract()
    762836
    763837    /**
     
    782856    }
    783857
     858    // }}}
     859    // {{{ equal()
     860
    784861    /**
    785862     * Tells if time span is equal to $time.
     
    796873    }
    797874
     875    // }}}
     876    // {{{ greaterEqual()
     877
    798878    /**
    799879     * Tells if this time span is greater or equal than $time.
     
    810890    }
    811891
     892    // }}}
     893    // {{{ lowerEqual()
     894
    812895    /**
    813896     * Tells if this time span is lower or equal than $time.
     
    824907    }
    825908
     909    // }}}
     910    // {{{ greater()
     911
    826912    /**
    827913     * Tells if this time span is greater than $time.
     
    838924    }
    839925
     926    // }}}
     927    // {{{ lower()
     928
    840929    /**
    841930     * Tells if this time span is lower than $time.
     
    851940        return $this->toSeconds() < $time->toSeconds();
    852941    }
     942
     943    // }}}
     944    // {{{ compare()
    853945
    854946    /**
     
    877969    }
    878970
     971    // }}}
     972    // {{{ isEmpty()
     973
    879974    /**
    880975     * Tells if the time span is empty (zero length).
     
    886981        return !$this->day && !$this->hour && !$this->minute && !$this->second;
    887982    }
     983
     984    // }}}
     985    // {{{ setDefaultInputFormat()
    888986
    889987    /**
     
    9031001    }
    9041002
     1003    // }}}
     1004    // {{{ getDefaultInputFormat()
     1005
    9051006    /**
    9061007     * Get the default input format.
     
    9141015        return $GLOBALS['_DATE_SPAN_INPUT_FORMAT'];
    9151016    }
     1017
     1018    // }}}
     1019    // {{{ setDefaultFormat()
    9161020
    9171021    /**
     
    9311035    }
    9321036
     1037    // }}}
     1038    // {{{ getDefaultFormat()
     1039
    9331040    /**
    9341041     * Get the default format.
     
    9421049        return $GLOBALS['_DATE_SPAN_FORMAT'];
    9431050    }
     1051
     1052    // }}}
     1053    // {{{ __clone()
    9441054
    9451055    /**
     
    9571067        return $s;
    9581068    }
     1069
     1070    // }}}
    9591071}
     1072
     1073// }}}
     1074
     1075/*
     1076 * Local variables:
     1077 * mode: php
     1078 * tab-width: 4
     1079 * c-basic-offset: 4
     1080 * c-hanging-comment-ender-p: nil
     1081 * End:
     1082 */
     1083?>
  • OpenPNE/trunk/lib/include/Date/TimeZone.php

    r2 r4927  
    11<?php
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
    3 //
    4 // +----------------------------------------------------------------------+
    5 // | Copyright (c) 1997-2005 Baba Buehler, Pierre-Alain Joye              |
    6 // +----------------------------------------------------------------------+
    7 // | This source file is subject to the New BSD license, That is bundled  |
    8 // | with this package in the file LICENSE, and is available through      |
    9 // | the world-wide-web at                                                |
    10 // | http://www.opensource.org/licenses/bsd-license.php                   |
    11 // | If you did not receive a copy of the new BSDlicense and are unable   |
    12 // | to obtain it through the world-wide-web, please send a note to       |
    13 // | pear-dev@lists.php.net so we can mail you a copy immediately.        |
    14 // +----------------------------------------------------------------------+
    15 // | Author: Baba Buehler <baba@babaz.com>                                |
    16 // |         Pierre-Alain Joye <pajoye@php.net>                           |
    17 // +----------------------------------------------------------------------+
     2/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
     3
     4// {{{ Header
    185
    196/**
     
    229 * PHP versions 4 and 5
    2310 *
     11 * LICENSE:
     12 *
     13 * Copyright (c) 1997-2006 Baba Buehler, Pierre-Alain Joye
     14 * All rights reserved.
     15 *
     16 * Redistribution and use in source and binary forms, with or without
     17 * modification, are permitted under the terms of the BSD License.
     18 *
     19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     20 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     22 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     23 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     25 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     27 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     29 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     30 * POSSIBILITY OF SUCH DAMAGE.
     31 *
    2432 * @category   Date and Time
    2533 * @package    Date
    2634 * @author     Baba Buehler <baba@babaz.com>
    2735 * @author     Pierre-Alain Joye <pajoye@php.net>
    28  * @copyright  1997-2005 Baba Buehler, Pierre-Alain Joye
    29  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    30  * @version    CVS: $Id: TimeZone.php,v 1.11 2005/11/15 00:16:40 pajoye Exp $
     36 * @copyright  1997-2006 Baba Buehler, Pierre-Alain Joye
     37 * @license    http://www.opensource.org/licenses/bsd-license.php
     38 *             BSD License
     39 * @version    CVS: $Id: TimeZone.php,v 1.14 2006/11/22 01:03:12 firman Exp $
    3140 * @link       http://pear.php.net/package/Date
    3241 */
     42
     43// }}}
     44// {{{ Class: Date_TimeZone
    3345
    3446/**
     
    5062 *
    5163 * @author     Baba Buehler <baba@babaz.com>
    52  * @copyright  1997-2005 The PHP Group
    53  * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
    54  * @version    Release: 1.4.6
     64 * @copyright  1997-2006 Baba Buehler, Pierre-Alain Joye
     65 * @license    http://www.opensource.org/licenses/bsd-license.php
     66 *             BSD License
     67 * @version    Release: 1.4.7
    5568 * @link       http://pear.php.net/package/Date
    5669 */
    5770class Date_TimeZone
    5871{
     72    // {{{ Properties
     73
    5974    /**
    6075     * Time Zone ID of this time zone
     
    6277     */
    6378    var $id;
     79
    6480    /**
    6581     * Long Name of this time zone (ie Central Standard Time)
     
    6783     */
    6884    var $longname;
     85
    6986    /**
    7087     * Short Name of this time zone (ie CST)
     
    7289     */
    7390    var $shortname;
     91
    7492    /**
    7593     * true if this time zone observes daylight savings time
     
    7795     */
    7896    var $hasdst;
     97
    7998    /**
    8099     * DST Long Name of this time zone
     
    82101     */
    83102    var $dstlongname;
     103
    84104    /**
    85105     * DST Short Name of this timezone
     
    87107     */
    88108    var $dstshortname;
     109
    89110    /**
    90111     * offset, in milliseconds, of this timezone
     
    99120    var $default;
    100121
     122    // }}}
     123    // {{{ Constructor
    101124
    102125    /**
     
    113136    function Date_TimeZone($id)
    114137    {
    115         global $_DATE_TIMEZONE_DATA;
     138        $_DATE_TIMEZONE_DATA =& $GLOBALS['_DATE_TIMEZONE_DATA'];
    116139        if(Date_TimeZone::isValidID($id)) {
    117140            $this->id = $id;
     
    137160    }
    138161
     162    // }}}
     163    // {{{ getDefault()
     164
    139165    /**
    140166     * Return a TimeZone object representing the system default time zone
     
    148174    function getDefault()
    149175    {
    150         global $_DATE_TIMEZONE_DEFAULT;
    151         return new Date_TimeZone($_DATE_TIMEZONE_DEFAULT);
     176        return new Date_TimeZone($GLOBALS['_DATE_TIMEZONE_DEFAULT']);
    152177    }
     178
     179    // }}}
     180    // {{{ setDefault()
    153181
    154182    /**
     
    162190    function setDefault($id)
    163191    {
    164         global $_DATE_TIMEZONE_DEFAULT;
    165192        if(Date_TimeZone::isValidID($id)) {
    166             $_DATE_TIMEZONE_DEFAULT = $id;
     193            $GLOBALS['_DATE_TIMEZONE_DEFAULT'] = $id;
    167194        }
    168195    }
     196
     197    // }}}
     198    // {{{ isValidID()
    169199
    170200    /**
     
    179209    function isValidID($id)
    180210    {
    181         global $_DATE_TIMEZONE_DATA;
    182         if(isset($_DATE_TIMEZONE_DATA[$id])) {
     211        if(isset($GLOBALS['_DATE_TIMEZONE_DATA'][$id])) {
    183212            return true;
    184213        } else {
     
    186215        }
    187216    }
     217
     218    // }}}
     219    // {{{ isEqual()
    188220
    189221    /**
     
    205237        }
    206238    }
     239
     240    // }}}
     241    // {{{ isEquivalent()
    207242
    208243    /**
     
    230265    }
    231266
     267    // }}}
     268    // {{{ hasDaylightTime()
     269
    232270    /**
    233271     * Returns true if this zone observes daylight savings time
     
    242280        return $this->hasdst;
    243281    }
     282
     283    // }}}
     284    // {{{ inDaylightTime()
    244285
    245286    /**
     
    260301    function inDaylightTime($date)
    261302    {
    262         $env_tz = "";
    263         if(getenv("TZ")) {
    264             $env_tz = getenv("TZ");
     303        $env_tz = '';
     304        if(isset($_ENV['TZ']) && getenv('TZ')) {
     305            $env_tz = getenv('TZ');
    265306        }
    266         putenv("TZ=".$this->id);
     307
     308        putenv('TZ=' . $this->id);
    267309        $ltime = localtime($date->getTime(), true);
    268         putenv("TZ=".$env_tz);
     310        if ($env_tz != '') {
     311            putenv('TZ=' . $env_tz);
     312        }
    269313        return $ltime['tm_isdst'];
    270314    }
     315
     316    // }}}
     317    // {{{ getDSTSavings()
    271318
    272319    /**
     
    288335        }
    289336    }
     337
     338    // }}}
     339    // {{{ getOffset()
    290340
    291341    /**
     
    310360    }
    311361
     362    // }}}
     363    // {{{ getAvailableIDs()
     364
    312365    /**
    313366     * Returns the list of valid time zone id strings
     
    320373    function getAvailableIDs()
    321374    {
    322         global $_DATE_TIMEZONE_DATA;
    323         return array_keys($_DATE_TIMEZONE_DATA);
     375        return array_keys($GLOBALS['_DATE_TIMEZONE_DATA']);
    324376    }
     377
     378    // }}}
     379    // {{{ getID()
    325380
    326381    /**
     
    336391        return $this->id;
    337392    }
     393
     394    // }}}
     395    // {{{ getLongName()
    338396
    339397    /**
     
    351409    }
    352410
     411    // }}}
     412    // {{{ getShortName()
     413
    353414    /**
    354415     * Returns the short name for this time zone
     
    364425    }
    365426
     427    // }}}
     428    // {{{ getDSTLongName()
     429
    366430    /**
    367431     * Returns the DST long name for this time zone
     
    377441    }
    378442
     443    // }}}
     444    // {{{ getDSTShortName()
     445
    379446    /**
    380447     * Returns the DST short name for this time zone
     
    390457    }
    391458
     459    // }}}
     460    // {{{ getRawOffset()
     461
    392462    /**
    393463     * Returns the raw (non-DST-corrected) offset from UTC/GMT for this time zone
     
    402472        return $this->offset;
    403473    }
     474
     475    // }}}
    404476}
    405477
    406 
    407 //
    408 // Time Zone Data
    409 //  offset is in miliseconds
    410 //
     478// }}}
     479
     480/**
     481 * Time Zone Data offset is in miliseconds
     482 *
     483 * @global array $GLOBALS['_DATE_TIMEZONE_DATA']
     484 */
    411485$GLOBALS['_DATE_TIMEZONE_DATA'] = array(
    412486    'Etc/GMT+12' => array(
     
    46274701);
    46284702
    4629 //
    4630 // Initialize default timezone
    4631 //  First try _DATE_TIMEZONE_DEFAULT global,
    4632 //  then PHP_TZ environment var, then TZ environment var
    4633 //
    4634 if(isset($_DATE_TIMEZONE_DEFAULT)
    4635     && Date_TimeZone::isValidID($_DATE_TIMEZONE_DEFAULT)
    4636 ) {
    4637     Date_TimeZone::setDefault($_DATE_TIMEZONE_DEFAULT);
     4703/**
     4704 * Initialize default timezone
     4705 *
     4706 * First try _DATE_TIMEZONE_DEFAULT global, then PHP_TZ environment var,
     4707 * then TZ environment var
     4708 */
     4709if(isset($GLOBALS['_DATE_TIMEZONE_DEFAULT'])
     4710   && Date_TimeZone::isValidID($GLOBALS['_DATE_TIMEZONE_DEFAULT']))
     4711{
     4712    Date_TimeZone::setDefault($GLOBALS['_DATE_TIMEZONE_DEFAULT']);
    46384713} elseif (getenv('PHP_TZ') && Date_TimeZone::isValidID(getenv('PHP_TZ'))) {
    46394714    Date_TimeZone::setDefault(getenv('PHP_TZ'));
     
    46454720    Date_TimeZone::setDefault('UTC');
    46464721}
     4722
     4723/*
     4724 * Local variables:
     4725 * mode: php
     4726 * tab-width: 4
     4727 * c-basic-offset: 4
     4728 * c-hanging-comment-ender-p: nil
     4729 * End:
     4730 */
     4731?>
Note: See TracChangeset for help on using the changeset viewer.