Archiv verlassen und diese Seite im Standarddesign anzeigen : mySQL-Timestamp umformatieren
Hallo zusammen, habe mal ne schnelle Frage,
wie kann ich den mySQL-Timestamp am schnellsten/besten umformatieren?
20060815141319
So sieht der Timestamp momentan aus. Schön wäre es wenn man hh:mm:ss tt.mm.yyyy daraus machen könnte. Gibt es eventuel eine Funktion die das kann und ich nicht kenne? :)
Indyk
30.08.2006, 15:12:28
ich würde an deiner stelle den UNIX_TIMESTAMP
benutzen, den kannst du bequem mit
echo date("H:i:s",$timestamp); // hh:mm:ss
oder
echo date("d.m.Y",$timestamp); // tt.mm.yyyy
umwandeln
und es stehen dir noch ettliche andere formate zu verfügung
functions beschreibung (http://de.php.net/manual/en/function.date.php)
Ich weiß, ich habe aber nunmal den anderen und dafür suche ich eine Lösung.
Indyk
30.08.2006, 15:24:42
na wenn du so auf deinem mysql_timestamp behaarst:
hatten wir schon (http://www.selfphp.de/forum/showthread.php?t=8115)
Dankeschön, danach habe ich gesucht und nicht gefunden ~.~
bitshock
31.08.2006, 02:31:35
ich mach das immer so... oder bin ich jetzt am thema vorbei?!
$DATUM = date("d.m.Y H:i:s", strtotime($varDatumAusDB));
Nein, das funktioniert leider nicht, da diese Funktion die "Zahlenkette" nicht als Datum erkennt.
bitshock
31.08.2006, 20:18:23
Sehe gerade, dasss Dein Timestamp so :
20060815141319
So sieht der Timestamp momentan aus.
ohne Trennzeichen ist... dann funktioniert das natürlich nicht, habe einen DATETIME aus mySQL gemeint..
MatMel
31.08.2006, 20:44:34
Wie wärs mit:
function mygettime( $timestamp )
{
settype($timestamp, "string"); // nur der vollständigkeit halber
if( strlen($timestamp) != strlen("20060815141319") ) // zu faul zum zählen ;)
{
return false;
}
ret['Y'] = substr($timestamp, 0 , 4);
ret['m'] = substr($timestamp, 4 , 2);
ret['d'] = substr($timestamp, 6 , 2);
ret['H'] = substr($timestamp, 8 , 2);
ret['i'] = substr($timestamp, 10 , 2);
ret['s'] = substr($timestamp, 12 , 2);
return $ret;
}
meikel (†)
01.09.2006, 00:12:14
ich mach das immer so... oder bin ich jetzt am thema vorbei?!
Ja. MYSQL_TIMESTAMP != UNIX_TIMESTAMP
meikel (†)
01.09.2006, 00:13:47
Wie wärs mit:
Das gibt ne Notiz. Das nicht:
function mygettime( $timestamp )
{
settype($timestamp, "string"); // nur der vollständigkeit halber
if( strlen($timestamp) != strlen("20060815141319") ) // zu faul zum zählen ;)
{
return false;
}
$ret = array(); # <---
ret['Y'] = substr($timestamp, 0 , 4);
ret['m'] = substr($timestamp, 4 , 2);
ret['d'] = substr($timestamp, 6 , 2);
ret['H'] = substr($timestamp, 8 , 2);
ret['i'] = substr($timestamp, 10 , 2);
ret['s'] = substr($timestamp, 12 , 2);
return $ret;
}
MatMel
01.09.2006, 11:28:15
Ne das wars nicht ... war meine Dummheit:
Beim füllen von $ret jedesmal das $ Zeichen vor der Variable vergessen:
<?PHP
function mygettime( $timestamp )
{
settype($timestamp, "string"); // nur der vollständigkeit halber
if( strlen($timestamp) != strlen("20060815141319") ) // zu faul zum zählen ;)
{
return false;
}
$ret = array();
$ret['Y'] = substr($timestamp, 0 , 4);
$ret['m'] = substr($timestamp, 4 , 2);
$ret['d'] = substr($timestamp, 6 , 2);
$ret['H'] = substr($timestamp, 8 , 2);
$ret['i'] = substr($timestamp, 10 , 2);
$ret['s'] = substr($timestamp, 12 , 2);
return $ret;
}
$ret = mygettime("20060815141319");
echo "20060815141319 is: {$ret['d']}.{$ret['m']}.{$ret['Y']} {$ret['H']}.{$ret['i']}:{$ret['s']}";
// Output: 20060815141319 is: 15.08.2006 14.13:19
?>
Schöner, da mehr am Original wäre evtl noch:
<?PHP
function mydate($format, $timestamp )
{
settype($timestamp, "string"); // nur der vollständigkeit halber
if( strlen($timestamp) != strlen("20060815141319") ) // zu faul zum zählen ;)
{
return false;
}
$ret = array();
$ret['Y'] = substr($timestamp, 0 , 4);
$ret['m'] = substr($timestamp, 4 , 2);
$ret['d'] = substr($timestamp, 6 , 2);
$ret['H'] = substr($timestamp, 8 , 2);
$ret['i'] = substr($timestamp, 10 , 2);
$ret['s'] = substr($timestamp, 12 , 2);
$format = str_replace("Y", $ret['Y'] , $format);
$format = str_replace("m", $ret['m'] , $format);
$format = str_replace("d", $ret['d'] , $format);
$format = str_replace("H", $ret['H'] , $format);
$format = str_replace("i", $ret['i'] , $format);
$format = str_replace("s", $ret['s'] , $format);
return $format;
}
$ret = mydate("d:m:Y H.i:s" , "20060815141319");
echo "20060815141319 is: $ret";
// Output: 20060815141319 is: 15.08.2006 14.13:19
?>
last but not least, zu benutzen wie date:
<?PHP
function mydate($format, $timestamp )
{
settype($timestamp, "string"); // nur der vollständigkeit halber
if( strlen($timestamp) != strlen("20060815141319") ) // zu faul zum zählen ;)
{
return false;
}
$ret = array();
$ret['Y'] = substr($timestamp, 0 , 4);
$ret['m'] = substr($timestamp, 4 , 2);
$ret['d'] = substr($timestamp, 6 , 2);
$ret['H'] = substr($timestamp, 8 , 2);
$ret['i'] = substr($timestamp, 10 , 2);
$ret['s'] = substr($timestamp, 12 , 2);
$ret = date($format, mktime($ret['H'],$ret['i'],$ret['s'],$ret['m'],$ret['d'],$ret['Y']));
return $ret;
}
$ret = mydate("D jS of F - h:i a" , "20060815141319");
echo "20060815141319 is: $ret";
// Output: 20060815141319 is: Tue 15th of August - 02:13 pm
?>
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.