php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.05.2009, 15:17  
Neuer Benutzer
 
Registriert seit: 04.05.2009
Beiträge: 3
Namevac befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Datumsformat IMAP -> MySQL umwandeln - wie?

Hallo zusammen,

ich bin auf der Suche nach einem kleinen Codeschnipsel, der mit aus folgendem Format (geliefer von IMAP-Mailserver) ein MySQL-Datum im üblichen DATETIME-Format (YYYY-MM-DD HH:MM:SS) macht:

4-May-2009 14:10:56 +0200

Hätte da jemand zufällig was griffbereit?

MfG
Namevac
Namevac ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.05.2009, 16:28  
Erfahrener Benutzer
 
Benutzerbild von leonv
 
Registriert seit: 12.01.2009
Beiträge: 344
PHP-Kenntnisse:
Fortgeschritten
leonv befindet sich auf einem aufstrebenden Ast
Standard

Lade zuerst das Datum vom Imap in ein Timestamp mit: PHP: mktime - Manual
und gib dann das datum anders formatier aus: PHP: date - Manual.
__________________
Kreativität und Schöpfung durch Chaos und Ordnung.
leonv ist offline  
Alt 04.05.2009, 17:01  
Neuer Benutzer
 
Registriert seit: 04.05.2009
Beiträge: 3
Namevac befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von leonv Beitrag anzeigen
Lade zuerst das Datum vom Imap in ein Timestamp mit: PHP: mktime - Manual
und gib dann das datum anders formatier aus: PHP: date - Manual.
Danke, nur direkt an mktime übergeben ist nicht möglich, da der Monat als "May" ausgegeben wird. Und mktime erwartet da ja einen int-Wert
Namevac ist offline  
Alt 04.05.2009, 17:09  
Erfahrener Benutzer
 
Benutzerbild von leonv
 
Registriert seit: 12.01.2009
Beiträge: 344
PHP-Kenntnisse:
Fortgeschritten
leonv befindet sich auf einem aufstrebenden Ast
Standard

kannste ja mit einer switch anweisung umwandeln und den rest über string[index] abfragen.
__________________
Kreativität und Schöpfung durch Chaos und Ordnung.
leonv ist offline  
Alt 04.05.2009, 18:09  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Versuchs mal mit strtotime und date. Macht weniger Arbeit.
erc ist offline  
Alt 05.05.2009, 13:36  
Neuer Benutzer
 
Registriert seit: 04.05.2009
Beiträge: 3
Namevac befindet sich auf einem aufstrebenden Ast
Standard

Danke, Switch habe ich in der Tat genommen und mir ansonsten selbst was zusammen geknobelt.

Falls ihn noch mal jemand braucht hier mal der Codeschnipsel:

PHP-Code:
//Fumktion wandelt Datum im Format "Mon, 04 May 2009 15:44:04 +0200" in "Montag, 04 Mai 2009 15:44:04" oder in MySQL DateTime-Format "2009-04-27 15:44:04"
    
function convertDate($date$switch){
        
$expl_date explode(" "$this->mail_fetched['headers']->date);
        
//$expl_date[0]  Mon,
        //$expl_date[1]  04
        //$expl_date[2]  May
        //$expl_date[3]  2009
        //$expl_date[4]  15:44:04
        //$expl_date[5]  +0200
        
        
if($switch == "gerdate"){
            switch (
$expl_date[0]){
                case 
"Mon,":
                    
$expl_date[0] = "Montag";
                break;
                case 
"Tue,":
                    
$expl_date[0] = "Dienstag";
                break;
                case 
"Wed,":
                    
$expl_date[0] = "Mittwoch";
                break;
                case 
"Thu,":
                    
$expl_date[0] = "Donnerstag";
                break;
                case 
"Fri,":
                    
$expl_date[0] = "Freitag";
                break;
                case 
"Sat,":
                    
$expl_date[0] = "Samstag";
                break;
                case 
"Sun,":
                    
$expl_date[0] = "Sonntag";
                break;
                }

            switch (
$expl_date[2]){
                case 
"January":
                    
$expl_date[2] = "Januar";
                break;
                case 
"February":
                    
$expl_date[2] = "Februar";
                break;
                case 
"March":
                    
$expl_date[2] = "März";
                break;
                case 
"April":
                    
$expl_date[2] = "April";
                break;
                case 
"May":
                    
$expl_date[2] = "Mai";
                break;
                case 
"June":
                    
$expl_date[2] = "Juni";
                break;
                case 
"July":
                    
$expl_date[2] = "Julie";
                break;
                case 
"August":
                    
$expl_date[2] = "August";
                break;
                case 
"September":
                    
$expl_date[2] = "September";
                break;
                case 
"October":
                    
$expl_date[2] = "Oktober";
                break;
                case 
"November":
                    
$expl_date[2] = "November";
                break;
                case 
"December":
                    
$expl_date[2] = "Dezember";
                break;
                }
                
$this->convdate $expl_date[0].", ".$expl_date[1]." ".$expl_date[2]." ".$expl_date[3]." ".$expl_date[4];
                return 
$convdate;

            }elseif(
$switch == "mysql"){
                switch (
$expl_date[2]){
                case 
"January":
                    
$expl_date[2] = "01";
                break;
                case 
"February":
                    
$expl_date[2] = "02";
                break;
                case 
"March":
                    
$expl_date[2] = "03";
                break;
                case 
"April":
                    
$expl_date[2] = "04";
                break;
                case 
"May":
                    
$expl_date[2] = "05";
                break;
                case 
"June":
                    
$expl_date[2] = "06";
                break;
                case 
"July":
                    
$expl_date[2] = "07";
                break;
                case 
"August":
                    
$expl_date[2] = "08";
                break;
                case 
"September":
                    
$expl_date[2] = "09";
                break;
                case 
"October":
                    
$expl_date[2] = "10";
                break;
                case 
"November":
                    
$expl_date[2] = "11";
                break;
                case 
"December":
                    
$expl_date[2] = "12";
                break;
                }
                
$this->convdate $expl_date[3]."-".$expl_date[2]."-".$expl_date[1]." ".$expl_date[4];
                return 
$convdate;
        }
    } 
/e: Bitte beachten das es aus einer Klasse stammt und deshalb natürlich noch angepasst werden muss, um auch alleine zu laufen

Geändert von Namevac (05.05.2009 um 13:40 Uhr).
Namevac ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Kann keine Umlaute im mysql client eingeben Oger Datenbanken 9 02.04.2009 11:54
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
Problem bei Umstellung auf MySQL 5 bettina Datenbanken 13 21.01.2009 10:00
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Datumsformat in deutsch umwandeln ;-) PHP Tipps 2006 4 31.03.2006 01:18
[Erledigt] Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13:49
Access Datenbank in MySQL Datenbank umwandeln karl Datenbanken 1 19.10.2005 17:04
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
DATE MYSQL umwandeln socke PHP Tipps 2005-2 29 16.08.2005 10:17
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
IMAP -&gt ; MySQL PHP Tipps 2005 5 16.06.2005 13:14
Mysql Befehl von PhP umwandeln Datenbanken 2 19.05.2005 22:40
Datumsformat umwandeln PHP Tipps 2004-2 2 09.12.2004 14:41
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
[Erledigt] PHP5 &a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php imap date, imap date, php imap datum, imap datum, imap date format, imap php datum, imap datum php, imap datum format, php imap datum umwandeln, php imap date umwandeln, php mysql mktime german, format mktime deutsch, php imap date deutsch, imap datum umwandeln, datum aus imap verwenden, php imap datum formatieren, php date imap, php imap timestamp, mktime deutsches datum, imap to mysql

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum