PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Montag Dinstag heute morgen gester



localhost
07-07-2004, 12:54
Wie geht das?
Ich weis das 86400 sec ein tag ist aber wenn ich das von der jetzt zeit abzihe dan ist immer ein tag von jetzt aus gesehen.
Ich weis nicht genau wie ich das machen soll?
Ein kleiner Tipp wer nicht schlecht

Pingu
07-07-2004, 13:21
Hi,

siehe Manual: http://de2.php.net/date

Damit läßt sich das Datum und die Uhrzeit in fast jeder beliebigen Art und Weise darstellen. Wenn es das nicht ist, habe ich nicht verstanden was Du möchtest.

Pingu

localhost
07-07-2004, 14:00
Ich meine wie hier
Alter: 30 Tag z.b. kann man hier ja wehlen
http://www.mrunix.de/forums/forumdisplay.php?f=22
sowas

oder wie bei den PN´s das Gester oder Letzt Woche

also weniger darstellen mer so das die mysql ausgabe nur von den letzt 30 Tagen z.b.

msi
08-07-2004, 06:57
hier, diese paar funktionen hab ich geschrieben, vielleicht erfüllen sie dienen Zweck (Fehlerkontrolle ist noch nicht drinnen!):





/************************************************** *************************
* date.php
* -------------------
* copyright : (C) 2003 Markus ..
* email : msi00@gmx.de
*
************************************************** *************************/


/************************************************** *************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
************************************************** *************************/

function splitDateTime($datum, $time) {
if (! preg_match("/^[1-90]{2}([1-90]{2})-0?([1-90]{1,2})-0?([1-90]{1,2})$/", $datum, $m)) {
return -1;
}
$ye = $m[1];
$mo = $m[2];
$da = $m[3];
if (! preg_match("/^([0-9]{2}):([0-9]{2}):([0-9]{2})$/", $time, $m )) {
return -1;
}
$ho = $m[1];
$mi = $m[2];
#echo "minute: $mi ($time)<br>";
return ( array( $mi, $ho, $da, $mo,$ye ) );
}

function splitCurDateTime() {
$mo = date('n');
$da = date('j');
$ho = date('H');
$mi = date('i');
$ye = date('y');
return ( array($mi,$ho,$da,$mo,$ye) ); function arrToMin($arr) {
$s = 28;
if (($arr[4] % 4) == 0) $s=29;
switch ($arr[3]) {
// J F M A M J J A S O N
case 1: $d=0; break;
case 2: $d=31; break;
case 3: $d=31+$s; break;
case 4: $d=31+$s+31; break;
case 5: $d=31+$s+31+30; break;
case 6: $d=31+$s+31+30+31; break;
case 7: $d=31+$s+31+30+31+30; break;
case 8: $d=31+$s+31+30+31+30+31; break;
case 9: $d=31+$s+31+30+31+30+31+31; break;
case 10: $d=31+$s+31+30+31+30+31+31+30; break;
case 11: $d=31+$s+31+30+31+30+31+31+30+31; break;
case 12: $d=31+$s+31+30+31+30+31+31+30+31+30; break;
// J F M A M J J A S O N

}

function showDate($datum, $time) {
$a = splitDateTime($datum,$time);
$c = splitCurDateTime();

if ($a[2]==$c[2] && $a[3]==$c[3] && $a[4]==$c[4] ) {
return "Heute ${a[1]}:${a[0]}";
}
$a_c = $a; $a_c[0]=0; $a_c[1]=0;
$c_c = $c; $c_c[0]=0; $c_c[1]=0;
$at = arrToMin($a_c);
$ct = arrToMin($c_c);
if ($at >= $ct) {
return "In der Zukunft (??)";
}
if ($at >= ($ct-24*60))
return "Gestern ${a[1]}:${a[0]}";
if ($at >= ($ct-2*24*60))
return "Vorgestern ${a[1]}:${a[0]}";
if ($a[4]==$c[4])
return "am ${a[2]}.${a[3]}. um ${a[1]}:${a[0]}";
else
return "am ${a[2]}.${a[3]}.${a[4]} um ${a[1]}:${a[0]}";

}

return ( $arr[0]+$arr[1]*60+$arr[2]*24*60+$d*24*60+$arr[4]*356*24*60 );
}


}


einfach echo showDate mit einem Datum und Zeit als PArameter aufrufen, das Datum und die Zeit müssen wie in der mysql DB beim Typ date und time übergeben werden.

undefined
08-07-2004, 09:18
habe ich mal vor längerer Zeit erstellt ;)
Link PHP Version (http://projekt.flashbattle.de/Moderatoren/Ming/Kalender/index.php)

PHP und Flash (http://projekt.flashbattle.de/Moderatoren/Ming/Kalender/Kalender.php)