pain3hp
(pain3hp)
9 Marzec 2010 15:42
#1
dynamiczne-tworzenie-daty-wzgledem-aktualnego-dnia-t376853.html
stary temat, tam jest prroblem ale już w archiwum nikt nie sprawdzi… poprzednio ktoś podał mi funkcję ale ona nie działa z miesiącami tzn pokazała taki sam dzień jak i miesiąc. Ja nie rozumiem tego zapisu dlatego jak by ktoś mógł ją edytować to bardzo bym był wdzięczny…
api
(Sitemaster)
9 Marzec 2010 17:08
#2
<?php
function get_Xth_DOW($DOW,$X,$M,$Y) {
$numDays = date('t',mktime(0,0,0,$M,1,$Y));
$add = 7*($X - 1);
$firstDOW = date('w',mktime(0,0,0,$M,1,$Y));
$diff = $firstDOW - $DOW;
$d = 1;
if($diff > 0) { $d += (7 - $diff); }
else if ($diff < 0) { $d += -1*$diff; }
$d = $d + $add;
while($d > $numDays) { $d -= 7; }
return $d;
}
function termin(){
$d=date('d'); $m=date('m'); $y=date('Y');
$x=get_Xth_DOW(2,1,$m,$y); // 1 wtorek
if($x < $d) {
$x=get_Xth_DOW(2,3,$m,$y); // 3 wtorek
if($x < $d) {
if($m<12) $m++; else { $m=1; $y++; } //kolejny miesiąc lub kolejny rok
$x=get_Xth_DOW(2,1,$m,$y); return sprintf('%02d',$x).'-'.sprintf('%02d',$m).'-'.$y.'r. godz. 16';
} else return sprintf('%02d',$x).'-'.sprintf('%02d',$m).'-'.$y.'r. godz. 16';
} else return sprintf('%02d',$x).'-'.sprintf('%02d',$m).'-'.$y.'r. godz. 16';
}
echo 'Najbliższy kurs odbędzie się: '.termin();
?>
ra-v
(ra-v)
9 Marzec 2010 17:59
#3
No czytałem to i nie wiem czy dobrze Ciebie zrozumiałem.
echo date('d-m-Y H:i:s', strtotime('next month tuesday 16:00'));
A czy to nie jest to o co chodziło? Oczywiście funkcją datę wyciągasz co chcesz, bo tu jest data oficjalna,cyfrowa.