Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP strtotime ändert einen String komischerweise in das aktuelle Datum..aber warum.

Mitglied: FunkerVogt

FunkerVogt (Level 1) - Jetzt verbinden

02.09.2013 um 19:19 Uhr, 2028 Aufrufe, 2 Kommentare

Hallo Gemeinde,

wie schon in der "Schlagzeile beschrieben habe ich da ein klitzekleines Problem.

Ich lese eine CSV mit 3 Spalten (Datum, Uhrzeit und einem Wert) ein um diese
dann in eine MySQL Datenbank zu portieren.

Bekanntlich muss dazu das Datumsformat geändert werden, nur "wie beschrieben"
tut es das nicht.

Die Zeilen in der CSV Datei haben das Format:
01.09.13 ;00:30 ; 0,000;C ; ;


01.
  
02.
<? 
03.
$row = 1; 
04.
if (($handle = fopen("orig2.csv", "r")) !== FALSE) { 
05.
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { 
06.
        $row++; 
07.
		$date = $data[0]; 
08.
                $time = $data[1]; 
09.
                $count = $data[2]; 
10.
echo $date
11.
echo "<br /></p>\n"
12.
$myDate = date("Y-m-d", strtotime($data[0]));  
13.
echo $myDate
14.
echo $time
15.
echo $count
16.
echo "<br /></p>\n"
17.
 
18.
?> 
Natürlich sind das Zwischenausgaben um das Ergebnis zu vergleichen.

Die Ausgabe ist:

01.09.13

2013-09-0200:30 0,000


aber warum? Ich finde den Fehler nicht!


Vielen Dank im voraus!
Mitglied: colinardo
02.09.2013, aktualisiert 03.09.2013
Hallo FunkerVogt,
dein Problem liegt in der Funktion strtotime() die nur englisch formatierte Date-Strings akzeptiert. Da dein Datum deutsch formatiert ist, liefert es anstatt eines Fehlers das aktuelle Datum zurück!
Du musst deinen Datums-String zerlegen und z.B. in diesem Format an die Funktion übergeben yyyy/mm/dd
oder du nutzt diese Funktion: http://php.net/manual/en/datetime.createfromformat.php
$mydate = date_format(date_create_from_format('d.m.y',$data[0]), 'Y-m-d');

Grüße Uwe
Bitte warten ..
Mitglied: FunkerVogt
03.09.2013 um 15:21 Uhr
Alles klärchen... jetzt passt das!
Gleich mit Datenbank getestet!


01.
if (($handle = fopen("orig2.csv", "r")) !== FALSE) { 
02.
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { 
03.
        $row++; 
04.
			$date = $data[0]; 
05.
				$curday = explode(".", $date); // getrennt per explode in $currday-Array 
06.
					$curday[2]=substr($curday[2], 0, -2); //Leerzeichen abgetrennt 
07.
					$upday = "20".$curday[2]."-".$curday[1]."-".$curday[0]; 
08.
echo " per explode getrennt und neu zusammengesetzt:____" .$upday; 
09.
$myDate = date("Y-m-d", strtotime($upday));  
10.
echo "<br />"; 
11.
echo " per strtotime in MySQL-taugliches Format gebracht:  " .$myDate; 
12.
echo "<br /></p>\n"; 
13.
$time = $data[1]; 
14.
$count = $data[2]; 
15.
 
16.
echo $time; 
17.
echo "<br />"; 
18.
echo $count; 
19.
echo "<br />"; 
20.
 
21.
 
22.
 

Dankeeeee!!


Gruss

Uwe
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Xcopy mit aktuellem Datum
gelöst Frage von deniska93Batch & Shell1 Kommentar

Hallo liebes Forum, kann mir einer von Euch zufällig ein xcopy Script erstellen? Kenne mich mit xcopy leider nicht ...

Microsoft Office
Aktuelles Datum in den USA
gelöst Frage von Latex78Microsoft Office5 Kommentare

Hi Leute, ich möchte mir gern das aktuelle Datum in den USA mit 7 Stunden Zeitverschiebung anzeigen lassen. Quasi: ...

Microsoft Office

Dateien mit dem aktuellen Datum Zählen

gelöst Frage von OlliMucMicrosoft Office3 Kommentare

Servus zusammen, ich hoffe sehr, dass mir mal wieder jemand helfen kann. Ich arbeite mit einem VBA-Makro bzw einer ...

PHP

PHP String inhalte wiedergeben

gelöst Frage von DasPossumPHP7 Kommentare

Hallo zusammen, ich arbeite gerade an ein kleines Script das mir Linuxbenutzer auf den Webserver ausgeben soll. Bisher habe ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 1 TagMicrosoft4 Kommentare

Da diese Infos scheinbar unerwünscht sind, habe ich diese wider gelöscht.

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 1 TagSpeicherkarten1 Kommentar

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 1 TagSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 2 TagenHardware1 Kommentar

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
EuGH-Urteil - Internetanschluss für die ganze Familie - Filesharer haften trotzdem
Frage von StefanKittelSicherheitsgrundlagen40 Kommentare

Hallo, In diesem Artikel geht es darum, dass Jemand aus der Familie ein Hörbuch illegal hochgeladen hat. Der Vater ...

Apple
MacBook Pro 2018 mit 8 GB oder 16 GB
Frage von SysAdm81Apple25 Kommentare

Hallo zusammen, ich steh vor der Überlegung mir ein MacBook Pro 13 (2018) zu kaufen. Bzgl. SSD habe ich ...

Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic19 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

TK-Netze & Geräte
Low budget TK-Anlage für KMU
Frage von HeinklugTK-Netze & Geräte16 Kommentare

Hallo Admins, ich bin auf der Suche nach eine kostengünstigen Telefonanlage für mein kleines Büro mit 4-5 Mitarbeitern. Dabei ...