- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
<?php
for ($i=1;$i<=31;$i++) { // дни
for ($j=1;$j<=12;$j++) { // месяцы
for ($k=70;$k<=99;$k++) { // годы
$i0=$i; // сохраняем оригинальные значения
$j0=$j; // переменных i и j
if ($i=1) { $i="01"; }
if ($i=2) { $i="02"; }
if ($i=3) { $i="03"; }
if ($i=4) { $i="04"; } // конвертируем их значения
if ($i=5) { $i="05"; } // в двухзначную форму
if ($i=6) { $i="06"; }
if ($i=7) { $i="07"; }
if ($i=8) { $i="08"; }
if ($i=9) { $i="09"; }
if ($j=1) { $j="01"; }
if ($j=2) { $j="02"; }
if ($j=3) { $j="03"; }
if ($j=4) { $j="04"; }
if ($j=5) { $j="05"; }
if ($j=6) { $j="06"; }
if ($j=7) { $j="07"; }
if ($j=8) { $j="08"; }
if ($j=9) { $j="09"; }
echo("$i$j$k<br>"); // выводим дату: число-месяц-год (год двузначный с 70 по 99)
$i=$i0; // востанавливаем оригинальные
$j=$j0; // значения переменных i и j
}}}
for ($i=1;$i<=12;$i++) {
for ($j=13;$j<=31;$j++) { // начинаем с 13 чтобы не повторяться в датах
for ($k=70;$k<=99;$k++) {
$i0=$i;
$j0=$j;
if ($i=1) { $i="01"; }
if ($i=2) { $i="02"; }
if ($i=3) { $i="03"; }
if ($i=4) { $i="04"; }
if ($i=5) { $i="05"; }
if ($i=6) { $i="06"; }
if ($i=7) { $i="07"; }
if ($i=8) { $i="08"; }
if ($i=9) { $i="09"; }
if ($j=1) { $j="01"; }
if ($j=2) { $j="02"; }
if ($j=3) { $j="03"; }
if ($j=4) { $j="04"; }
if ($j=5) { $j="05"; }
if ($j=6) { $j="06"; }
if ($j=7) { $j="07"; }
if ($j=8) { $j="08"; }
if ($j=9) { $j="09"; }
echo("$i$j$k<br>"); // дата: месяц-число-год (год двузначный с 70 по 99)
$i=$i0;
$j=$j0;
}}}
for ($i=1;$i<=31;$i++) {
for ($j=1;$j<=12;$j++) {
for ($k=0;$k<=12;$k++) {
$i0=$i;
$j0=$j;
$k0=$k;
if ($i=1) { $i="01"; }
if ($i=2) { $i="02"; }
if ($i=3) { $i="03"; }
if ($i=4) { $i="04"; }
if ($i=5) { $i="05"; }
if ($i=6) { $i="06"; }
if ($i=7) { $i="07"; }
if ($i=8) { $i="08"; }
if ($i=9) { $i="09"; }
if ($j=1) { $j="01"; }
if ($j=2) { $j="02"; }
if ($j=3) { $j="03"; }
if ($j=4) { $j="04"; }
if ($j=5) { $j="05"; }
if ($j=6) { $j="06"; }
if ($j=7) { $j="07"; }
if ($j=8) { $j="08"; }
if ($j=9) { $j="09"; }
if ($k=0) { $k="00"; }
hidespb 12.02.2011 12:14 # 0
brainstorm 13.02.2011 02:33 # 0
istem 12.02.2011 12:40 # +1
> Devzirom: "zhen, большое спасибо за код! Я давненько на говнокод не выкладывал!"
Круто :)
Kevin 12.02.2011 13:12 # 0
Nerd 12.02.2011 13:38 # +1
Lure Of Chaos 12.02.2011 14:03 # 0
istem 12.02.2011 14:41 # 0
Spider 12.02.2011 21:25 # +2
if ($i=1) ...
if ($i=2) ...
...
можно заменить на
if (true) ...
TarasB 12.02.2011 21:28 # −2
А ведь именно в таких местах и проявляется вся педерастичность сишного синтаксиса.
Lure Of Chaos 12.02.2011 23:12 # 0
Int 12.02.2011 23:28 # 0
Spider 13.02.2011 04:25 # −1
brainstorm 13.02.2011 02:35 # +2
1-2 раза можно упустить == но не столько
Vindicar 14.02.2011 01:23 # 0
А дальше копипаст.
brainstorm 14.02.2011 01:26 # +2
StriderMan 14.02.2011 11:58 # −1
brainstorm 14.02.2011 12:25 # 0
zhen 13.02.2011 14:54 # −3
Dummy00001 12.02.2011 15:54 # +2
7ion 12.02.2011 18:10 # 0
>Не шути так... Если услышишь реальную критику, твоё ЧСВ упадёт так сильно что ты повесишься...
>не ну я сам понимаю что проверку if ($i==1) { $i="01"; } нужно вынести за циклы
>for ($j=хх;$j<=хх;$j++) и for ($k=хх;$k<=хх;$k++) ну а больше я косяков не вижу.
>разве что вместо кучи if использовать elseif. Про функции я ничего не знаю поэтому
>приходится писать код повторно, но это влияет только на размер файла а не на
>быстродействие, т.к. какая разница процессору откуда брать код ))
7ion 12.02.2011 18:12 # 0
<?
$start = mktime(0,0,0,1,1,2011);
$end = mktime (0,0,0,31,12,2011);
for ($i=$start; $i<= $end; $i += (60*60*24)) {
echo date('d-m-y', $i);
echo '<br>';
}
wmmorgun 14.02.2011 11:45 # 0
Не во всех сутках 86400 секунд, да и не стоит это вычислять каждый раз.
Лучше strtotime('+1 day', $timestamp), не самый быстрый вариант, но самый точный и понятный
absolut 14.02.2011 11:58 # 0
wmmorgun 14.02.2011 12:00 # 0
DST же!
absolut 14.02.2011 12:16 # 0
wmmorgun 14.02.2011 12:19 # 0
DST вероятно только на Марсе вводят ;-)
absolut 14.02.2011 12:43 # 0
А переход на зимнее время указом президента отменен :)
wmmorgun 14.02.2011 12:48 # 0
P.S. задним числом тоже отменили?
P.P.S. не бывает "зимнего" времени, бывает "летнее", так что теперь вы будете особенно выделятся на фоне других стран и проблем будет еще больше.
absolut 14.02.2011 13:07 # 0
wmmorgun 14.02.2011 13:12 # 0
ZX_Spectrum 14.02.2011 23:16 # 0
ZX_Spectrum 14.02.2011 23:30 # 0
ну что ж, "зато" у вас "вечера" будут светлые (хотя на самом деле это будет еще день, хехе!)
wmmorgun 15.02.2011 02:05 # 0
wmmorgun 14.02.2011 12:20 # +1
Int 14.02.2011 12:46 # 0
Int 12.02.2011 23:30 # 0
Мой мооооооозг.
А ещё кто-то мне тут писал, что говнокод - это то, что хотя бы работает. И что, этот код работает? С учётом 30-го месяца и кривых ифов?
zhen 13.02.2011 15:22 # 0
и код работает после исправления ифов ))
ZX_Spectrum 13.02.2011 10:14 # +2
не хочу знать, почему
zhen 13.02.2011 13:54 # −5
Мне нужен был список дат с 1970 года по 2012 год,
причем как в формате ддммгг, так и ммддгг.
если месяц и день меньше 13 то обе даты будут одинаковыми,
так вот чтоб не повторяться я и начинал во втором случае с 13 числа.
bugmenot 13.02.2011 15:10 # +4
ZX_Spectrum 13.02.2011 17:25 # 0
zhen 13.02.2011 15:19 # −6
Nerd 13.02.2011 16:12 # 0
eth0 13.02.2011 18:04 # +2
nethak 14.02.2011 08:21 # −3
zhen 14.02.2011 14:17 # −2
7ion 14.02.2011 14:46 # −2
Вот именно.
istem 14.02.2011 17:36 # 0
zhen 14.02.2011 19:32 # −5
ZX_Spectrum 14.02.2011 23:37 # 0
zhen 15.02.2011 19:29 # −4
istem 15.02.2011 22:41 # −1
zhen 16.02.2011 00:46 # 0