- 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"; }
> Devzirom: "zhen, большое спасибо за код! Я давненько на говнокод не выкладывал!"
Круто :)
if ($i=1) ...
if ($i=2) ...
...
можно заменить на
if (true) ...
А ведь именно в таких местах и проявляется вся педерастичность сишного синтаксиса.
1-2 раза можно упустить == но не столько
А дальше копипаст.
>Не шути так... Если услышишь реальную критику, твоё ЧСВ упадёт так сильно что ты повесишься...
>не ну я сам понимаю что проверку if ($i==1) { $i="01"; } нужно вынести за циклы
>for ($j=хх;$j<=хх;$j++) и for ($k=хх;$k<=хх;$k++) ну а больше я косяков не вижу.
>разве что вместо кучи if использовать elseif. Про функции я ничего не знаю поэтому
>приходится писать код повторно, но это влияет только на размер файла а не на
>быстродействие, т.к. какая разница процессору откуда брать код ))
<?
$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>';
}
Не во всех сутках 86400 секунд, да и не стоит это вычислять каждый раз.
Лучше strtotime('+1 day', $timestamp), не самый быстрый вариант, но самый точный и понятный
DST же!
DST вероятно только на Марсе вводят ;-)
А переход на зимнее время указом президента отменен :)
P.S. задним числом тоже отменили?
P.P.S. не бывает "зимнего" времени, бывает "летнее", так что теперь вы будете особенно выделятся на фоне других стран и проблем будет еще больше.
ну что ж, "зато" у вас "вечера" будут светлые (хотя на самом деле это будет еще день, хехе!)
Мой мооооооозг.
А ещё кто-то мне тут писал, что говнокод - это то, что хотя бы работает. И что, этот код работает? С учётом 30-го месяца и кривых ифов?
и код работает после исправления ифов ))
не хочу знать, почему
Мне нужен был список дат с 1970 года по 2012 год,
причем как в формате ддммгг, так и ммддгг.
если месяц и день меньше 13 то обе даты будут одинаковыми,
так вот чтоб не повторяться я и начинал во втором случае с 13 числа.
Вот именно.