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, 2103 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
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 ...

PHP
PHP - String aufbrechen und speichern
gelöst Frage von WPFORGEPHP3 Kommentare

Hallo, ich habe viele Strings, die nach folgendem Muster aufgebaut sind: $str = "topCat/subcat/subsubCat//endpoint"; Die "Tiefe" dieser Schachtelung ist ...

PHP
PHP String mit Links versehen
gelöst Frage von Jens4everPHP6 Kommentare

Hi zusammen, zuerst mal frohes Fest euch allen! Aus einem String extrahiere ich Hashtags und schreibe sie in eine ...

PHP

PHP Variable in String finden und ersetzen

Frage von LorderichPHP19 Kommentare

Hallo zusammen, da eval() sowohl aus Sicherheitsgründen als auch aus Performancegründen keine Option zu sein scheint, würde ich gern ...

Neue Wissensbeiträge
Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner2 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 1 TagWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Humor (lol)
Wenn hacken nach hinten los geht
Information von em-pie vor 2 TagenHumor (lol)5 Kommentare

Moin, weil heute Freitag ist, nachfolgender kurzer Artikel zum schmunzeln:) l+f: NULL ist ein notorischer Falschparker

Windows Update
Windows: August 2019 Patchday-Probleme
Information von kgborn vor 3 TagenWindows Update3 Kommentare

Ich kippe mal einige kurze Informationen hier rein - vielleicht hilft es Betroffenen. Die August 2019-Updates für Windows haben ...

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs29 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Ubuntu
Download manchmal langsam oder komplette Abbrüche bzw. Videos spielen nicht bis zum Schluss
Frage von stefanstpUbuntu18 Kommentare

Immer wieder berichten unsere Kunden, dass Downloads abbrechen oder super langsam sind oder Videos nicht abgespielt werden können bzw. ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
Frage von SnowbirdHyper-V18 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid16 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...