SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQL

MySQL Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQL diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.07.2004, 15:24:59
crowl crowl ist offline
Anfänger
 
Registriert seit: Mar 2003
Beiträge: 81
crowl befindet sich auf einem aufstrebenden Ast
php und MySQL Timestamp

Ich lasse mir bei jedem Datensatzeintrag in die MySQL Tabelle automatisch einen Timestamp von MySQL generieren (MySQL Type: timestamp(14)).

In der Datenbank sieht der Eintrag des Timestamp z.B. so aus:
20040707135123

Lese ich diesen Wert mit PHP aus, und will ihn formatiert anzeigen, klappt das nicht.

Das Ergebnis von:
date("l dS of F Y h:i:s A", $row['mytime']);
ist:
Tuesday 19th of January 2038 04:14:07 AM

Was auf einen falschen Timestamp hindeutet. Den Timestamp ha ich -wie schon gesagt- automatisch von MySQL generieren lassen.

Unterstützen die PHP funktionen nur Unix Timestamps?

Über die MySQL Funktion Date() kann ich das Datum schon bei der SQL Abfrage formatieren lassen. Das ist aber nicht ganz das was ich möchte. Kann man mit PHP Mitteln keinen MySQL Timestamp formatieren?
Mit Zitat antworten
  #2  
Alt 07.07.2004, 15:29:57
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 51
Beiträge: 1.236
chris17 befindet sich auf einem aufstrebenden Ast
Hi crowl,

eine Möglichkeit...
PHP-Code:
function mysql_timestamp2german($t) {
    return 
sprintf("%02d.%02d.%04d %02d:%02d:%02d",
                
substr($t62),
                
substr($t42),
                
substr($t04),
                
substr($t82),
                
substr($t102),
                
substr($t122));
}

echo 
mysql_timestamp2german('20040707135123'); 
Gruss
Mit Zitat antworten
  #3  
Alt 07.07.2004, 15:30:34
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
xabbuh befindet sich auf einem aufstrebenden Ast
date() kannst du nur auf Unix-Timestamps anwenden.

Trotzdem kannst du den Timestamp, den MySQL generiert, mit php verarbeiten. substr hilft dir weiter ($zeit ist der Timestamp aus der Datenbank):

PHP-Code:
$jahr=substr($zeit04);
$monat=substr($zeit42);
$tag=substr($zeit62);
$stunde=substr($zeit82);
$minute=substr($zeit102);
$sekunde=substr($zeit122); 
Edit: Da war Chris17 wohl schneller.


Noch ein Nachtrag: Du kannst auch folgende Funktion verwenden:

PHP-Code:
<?php
function dateMysql($format$zeit){
    
$jahr=substr($zeit04);
    
$monat=substr($zeit42);
    
$tag=substr($zeit62);
    
$stunde=substr($zeit82);
    
$minute=substr($zeit102);
    
$sekunde=substr($zeit122);

    
$zeit=mktime($stunde$minute$sekunde$monat$tag$jahr);

    return 
date($format$zeit);
}
?>
echo dateMysql('d.m.Y', '20040707135123');
Ausgegeben werden solllte dann "07.07.2004".

Geändert von xabbuh (07.07.2004 um 22:46:14 Uhr)
Mit Zitat antworten
  #4  
Alt 08.07.2004, 01:33:33
tapferesschneid tapferesschneid ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 194
tapferesschneid befindet sich auf einem aufstrebenden Ast
Wenn Du die Daten nicht noch für weitere Berechnungen brauchst, kannst Du sowas auch direkt bei der Abfrage erledigen, z. B.:
Code:
SELECT DATE_FORMAT(`mysql_timestamp`, "%W %M %d, %Y %r") ...
Unix-Timestamp zum Weiterverwenden geht so:
Code:
SELECT select UNIX_TIMESTAMP(`mysql_timestamp`) ...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:39:42 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.


© 2001-2018 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt