Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
// +----------------------------------------------------------------------+
3
// | PHP Version 4                                                        |
4
// +----------------------------------------------------------------------+
5
// | Copyright (c) 1998-2004 Manuel Lemos, Tomas V.V.Cox,                 |
6
// | Stig. S. Bakken, Lukas Smith                                         |
7
// | All rights reserved.                                                 |
8
// +----------------------------------------------------------------------+
9
// | MDB is a merge of PEAR DB and Metabases that provides a unified DB   |
10
// | API as well as database abstraction for PHP applications.            |
11
// | This LICENSE is in the BSD license style.                            |
12
// |                                                                      |
13
// | Redistribution and use in source and binary forms, with or without   |
14
// | modification, are permitted provided that the following conditions   |
15
// | are met:                                                             |
16
// |                                                                      |
17
// | Redistributions of source code must retain the above copyright       |
18
// | notice, this list of conditions and the following disclaimer.        |
19
// |                                                                      |
20
// | Redistributions in binary form must reproduce the above copyright    |
21
// | notice, this list of conditions and the following disclaimer in the  |
22
// | documentation and/or other materials provided with the distribution. |
23
// |                                                                      |
24
// | Neither the name of Manuel Lemos, Tomas V.V.Cox, Stig. S. Bakken,    |
25
// | Lukas Smith nor the names of his contributors may be used to endorse |
26
// | or promote products derived from this software without specific prior|
27
// | written permission.                                                  |
28
// |                                                                      |
29
// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  |
30
// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT    |
31
// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS    |
32
// | FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE      |
33
// | REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,          |
34
// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
35
// | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS|
36
// |  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED  |
37
// | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT          |
38
// | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY|
39
// | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE          |
40
// | POSSIBILITY OF SUCH DAMAGE.                                          |
41
// +----------------------------------------------------------------------+
42
// | Author: Lukas Smith <smith@backendmedia.com>                         |
43
// +----------------------------------------------------------------------+
44
//
45
// $Id: Date.php,v 1.14.4.1 2004/01/08 13:43:02 lsmith Exp $
46
//
47
 
48
/**
49
 * Several methods to convert the MDB native timestamp format (ISO based)
50
 * to and from data structures that are convienient to worth with in side of php.
51
 * For more complex date arithmetic please take a look at the Date package in PEAR
52
 *
53
 * @package MDB
54
 * @category Database
55
 * @author  Lukas Smith <smith@backendmedia.com>
56
 */
57
class MDB_Date
58
{
59
    // {{{ mdbNow()
60
 
61
    /**
62
     * return the current datetime
63
     *
64
     * @return string current datetime in the MDB format
65
     * @access public
66
     */
67
    function mdbNow()
68
    {
69
        return(date('Y-m-d H:i:s'));
70
    }
71
 
72
    // }}}
73
    // {{{ mdbToday()
74
 
75
    /**
76
     * return the current date
77
     *
78
     * @return string current date in the MDB format
79
     * @access public
80
     */
81
    function mdbToday()
82
    {
83
        return(date('Y-m-d'));
84
    }
85
 
86
    // }}}
87
    // {{{ mdbTime()
88
 
89
    /**
90
     * return the current time
91
     *
92
     * @return string current time in the MDB format
93
     * @access public
94
     */
95
    function mdbTime()
96
    {
97
        return(date('H:i:s'));
98
    }
99
 
100
    // }}}
101
    // {{{ date2Mdbstamp()
102
 
103
    /**
104
     * convert a date into a MDB timestamp
105
     *
106
     * @param integer $hour hour of the date
107
     * @param integer $minute minute of the date
108
     * @param integer $second second of the date
109
     * @param integer $month month of the date
110
     * @param integer $day day of the date
111
     * @param integer $year year of the date
112
     * @return string a valid MDB timestamp
113
     * @access public
114
     */
115
    function date2Mdbstamp($hour = NULL, $minute = NULL, $second = NULL,
116
        $month = NULL, $day = NULL, $year = NULL)
117
    {
118
        return MDB_Date::unix2Mdbstamp(mktime($hour, $minute, $second, $month, $day, $year));
119
    }
120
 
121
    // }}}
122
    // {{{ unix2Mdbstamp()
123
 
124
    /**
125
     * convert a unix timestamp into a MDB timestamp
126
     *
127
     * @param integer $unix_timestamp a valid unix timestamp
128
     * @return string a valid MDB timestamp
129
     * @access public
130
     */
131
    function unix2Mdbstamp($unix_timestamp)
132
    {
133
        return date('Y-m-d H:i:s', $unix_timestamp);
134
    }
135
 
136
    // }}}
137
    // {{{ mdbstamp2Unix()
138
 
139
    /**
140
     * convert a MDB timestamp into a unix timestamp
141
     *
142
     * @param integer $mdb_timestamp a valid MDB timestamp
143
     * @return string unix timestamp with the time stored in the MDB format
144
     * @access public
145
     */
146
    function mdbstamp2Unix($mdb_timestamp)
147
    {
148
        $arr = MDB_Date::mdbstamp2Date($mdb_timestamp);
149
 
150
        return mktime($arr['hour'], $arr['minute'], $arr['second'], $arr['month'], $arr['day'], $arr['year'], 0);
151
        }
152
 
153
    // }}}
154
    // {{{ mdbstamp2Date()
155
 
156
    /**
157
     * convert a MDB timestamp into an array containing all
158
     * values necessary to pass to php's date() function
159
     *
160
     * @param integer $mdb_timestamp a valid MDB timestamp
161
     * @return array with the time split
162
     * @access public
163
     */
164
    function mdbstamp2Date($mdb_timestamp)
165
    {
166
        list($arr['year'], $arr['month'], $arr['day'], $arr['hour'], $arr['minute'], $arr['second']) =
167
            sscanf($mdb_timestamp, "%04u-%02u-%02u %02u:%02u:%02u");
168
        return($arr);
169
    }
170
 
171
    // }}}
172
}
173
 
174
?>