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 versions 4 and 5                                                 |
4
// +----------------------------------------------------------------------+
5
// | Copyright (c) 1998-2006 Manuel Lemos, Tomas V.V.Cox,                 |
6
// | Stig. S. Bakken, Lukas Smith                                         |
7
// | All rights reserved.                                                 |
8
// +----------------------------------------------------------------------+
9
// | MDB2 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@pooteeweet.org>                           |
43
// +----------------------------------------------------------------------+
44
//
45
// $Id: Date.php,v 1.10 2006/03/01 12:15:32 lsmith Exp $
46
//
47
 
48
/**
49
 * @package  MDB2
50
 * @category Database
51
 * @author   Lukas Smith <smith@pooteeweet.org>
52
 */
53
 
54
/**
55
 * Several methods to convert the MDB2 native timestamp format (ISO based)
56
 * to and from data structures that are convenient to worth with in side of php.
57
 * For more complex date arithmetic please take a look at the Date package in PEAR
58
 *
59
 * @package MDB2
60
 * @category Database
61
 * @author  Lukas Smith <smith@pooteeweet.org>
62
 */
63
class MDB2_Date
64
{
65
    // {{{ mdbNow()
66
 
67
    /**
68
     * return the current datetime
69
     *
70
     * @return string current datetime in the MDB2 format
71
     * @access public
72
     */
73
    function mdbNow()
74
    {
75
        return date('Y-m-d H:i:s');
76
    }
77
    // }}}
78
 
79
    // {{{ mdbToday()
80
 
81
    /**
82
     * return the current date
83
     *
84
     * @return string current date in the MDB2 format
85
     * @access public
86
     */
87
    function mdbToday()
88
    {
89
        return date('Y-m-d');
90
    }
91
    // }}}
92
 
93
    // {{{ mdbTime()
94
 
95
    /**
96
     * return the current time
97
     *
98
     * @return string current time in the MDB2 format
99
     * @access public
100
     */
101
    function mdbTime()
102
    {
103
        return date('H:i:s');
104
    }
105
    // }}}
106
 
107
    // {{{ date2Mdbstamp()
108
 
109
    /**
110
     * convert a date into a MDB2 timestamp
111
     *
112
     * @param int hour of the date
113
     * @param int minute of the date
114
     * @param int second of the date
115
     * @param int month of the date
116
     * @param int day of the date
117
     * @param int year of the date
118
     *
119
     * @return string a valid MDB2 timestamp
120
     * @access public
121
     */
122
    function date2Mdbstamp($hour = null, $minute = null, $second = null,
123
        $month = null, $day = null, $year = null)
124
    {
125
        return MDB2_Date::unix2Mdbstamp(mktime($hour, $minute, $second, $month, $day, $year, -1));
126
    }
127
    // }}}
128
 
129
    // {{{ unix2Mdbstamp()
130
 
131
    /**
132
     * convert a unix timestamp into a MDB2 timestamp
133
     *
134
     * @param int a valid unix timestamp
135
     *
136
     * @return string a valid MDB2 timestamp
137
     * @access public
138
     */
139
    function unix2Mdbstamp($unix_timestamp)
140
    {
141
        return date('Y-m-d H:i:s', $unix_timestamp);
142
    }
143
    // }}}
144
 
145
    // {{{ mdbstamp2Unix()
146
 
147
    /**
148
     * convert a MDB2 timestamp into a unix timestamp
149
     *
150
     * @param int a valid MDB2 timestamp
151
     * @return string unix timestamp with the time stored in the MDB2 format
152
     *
153
     * @access public
154
     */
155
    function mdbstamp2Unix($mdb_timestamp)
156
    {
157
        $arr = MDB2_Date::mdbstamp2Date($mdb_timestamp);
158
 
159
        return mktime($arr['hour'], $arr['minute'], $arr['second'], $arr['month'], $arr['day'], $arr['year'], -1);
160
    }
161
    // }}}
162
 
163
    // {{{ mdbstamp2Date()
164
 
165
    /**
166
     * convert a MDB2 timestamp into an array containing all
167
     * values necessary to pass to php's date() function
168
     *
169
     * @param int a valid MDB2 timestamp
170
     *
171
     * @return array with the time split
172
     * @access public
173
     */
174
    function mdbstamp2Date($mdb_timestamp)
175
    {
176
        list($arr['year'], $arr['month'], $arr['day'], $arr['hour'], $arr['minute'], $arr['second']) =
177
            sscanf($mdb_timestamp, "%04u-%02u-%02u %02u:%02u:%02u");
178
        return $arr;
179
    }
180
    // }}}
181
}
182
 
183
?>