РНР 5 в подлинникеСтраница 205 из 554 |
||||||||||||||||||||||||||||||||||
|
Гпава 22. Работа с датами и временем 415 int strtotime(string $time [,int $timestamp]) При вызове mktime () легко перепутать порядок следования параметров и, таким образом, получить неверный результат. Функция strtotime о лишена этого недостатка. Она принимает строковое представление даты в свободном формате и возвращает соответствующий формат timestamp. Насколько же свободен этот "свободный" формат? Ведь ясно, что всех текстовых представлений учесть нельзя. Ответ на данный вопрос дает страница руководства Unix под называнием "Date input formats", которая легко находится в любой поисковой системе по ее названию — например, http://www.google.com.ru/search?q=Date+input+fonnats. В листинге 22.4 приведен сценарий, проверяющий, как функция strtotime () воспринимает строковые представления некоторых дат. Результат выводится в виде таблицы, в которой отображается timestamp, а также заново построенное по этому time-stamp-формату строковое представление даты. i Листинг 22.4. Файл strtotime.php <?php ## Использование функции strtotime (). $check = array( "now", "10 September 2000", "+1 day", "+1 week", "+1 week 2 days 4 hours 2 seconds", "next Thursday", "last Monday", ); ?> <table width="100%"> <tr align="left"> <№>Входная строка</№> <th >Time s tamp</th> <№>Получившаяся дата</Ш> <а1>Сегодня</№> </tr> <?foreach ($check as $str) {?> <tr> <td><?=$str?x/td> <tdx?=$stamp=strtotime ($str) ?></td> <tdx?=date ("Y-m-d H:i:s", $stamp) ?></td> <tdx?=date ("Y-m-d H:i:s", time () ) ?></td> </tr> <?}?> </table> В табл. 22.1 приведены примеры результатов работы этого скрипта. 416 Часть IV. Стандартные функции РНР Таблица 22.1. Результаты вызова strtotime О для некоторых дат
Разбор timestamp array getdate(int $timestamp) Возвращает ассоциативный массив, содержащий данные об указанном времени. В массив будут помещены следующие ключи и значения: □ seconds — секунды; □ minutes — МИНУТЫ; □ hours — часы; □ mday — ЧИСЛО; □ wday — день недели (0 означает воскресенье, 1 — понедельник, и т. д.); □ топ — номер месяца; □ year — ГОД; □ yday — номер дня с начала года; □ weekday — ПОЛНОе название ДНЯ Недели, например, Friday; □ month — ПОЛНОе название месяца, например, January. В общем-то, всю эту информацию можно получить и с помощью функции date о, но тут разработчики РНР предоставляют нам альтернативный способ. Григорианский календарь Григорианский календарь — это как раз тот самый календарь, который мы постоянно используем в своей жизни. В России он был введен Петром I в 1700 году. Описываемые далее три функции представляют большой интерес, если вам понадобится автоматически формировать календари в сценариях. Все они имеют дело с так называемым форматом Julian Day Count (JDC). Что это такое? Каждой дате соответствует свой JDC. Ведь, фактически, JDC — это всего лишь количество дней, прошедших с определенной даты (с 4714 года до н. э.). |
| |||||||||||||||||||||||||||||||||
|
В начало ←предыдущая следующая→ ... 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 ... | ||||||||||||||||||||||||||||||||||