Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 - MySQL Zeitformat umwandeln

Frage Entwicklung PHP

Mitglied: Pixelschubser

Pixelschubser (Level 1) - Jetzt verbinden

05.02.2010, aktualisiert 07.02.2010, 7374 Aufrufe, 6 Kommentare

Ich habe in einen meiner MySQL-Tabellen in einer Spalte in einem String folgendes Zeit-Format stehen "20:04 Uhr 26.03.2006". Wie kann ich diese mithilfe eines PHP-Scripts in Timestamp umwandeln?

Die einzigste Idee die ich hätte, ware die einzelnen Werte aus dem string suchen und die Sekunden hochrechnen. Allerdings könnte ich mir vorstellen, dass es wegen den paar Schaltjahren nicht ganz hinhaut.

Gruß
Schubser
Mitglied: Arano
05.02.2010 um 16:21 Uhr
Moin,

PHP-Manual - mktime() berechnet dir aus Zeit- und Datumswerten den entsprechenden Timestamp.
PHP-Manual - date_parse_from_format() ermöglicht es dir unter Angabe eines Formates deine vorhandene Zeichenkette in ihre einzelnen Werte zu zerlegen.


~Arano
Bitte warten ..
Mitglied: Biber
05.02.2010 um 16:32 Uhr
Moin Arano,

Meinst du nicht, dass Pixelschubser nicht vielleicht einen UNIX_TIMESTAMP (Summe Sekunden seit 1.1.1970) oder ähnliches meint?
Anders wäre doch die Philosophie ...
und die Sekunden hochrechnen. Allerdings könnte ich mir vorstellen, dass es wegen den paar Schaltjahren nicht ganz hinhaut.
... vollkommen neben der Spur.

Grüße
Biber
Bitte warten ..
Mitglied: 48507
05.02.2010 um 17:05 Uhr
Zitat von Biber:
Moin Arano,

Meinst du nicht, dass Pixelschubser nicht vielleicht einen UNIX_TIMESTAMP (Summe Sekunden seit 1.1.1970) oder ähnliches
meint?
Anders wäre doch die Philosophie ...
> und die Sekunden hochrechnen. Allerdings könnte ich mir vorstellen, dass es wegen den paar Schaltjahren nicht ganz
hinhaut.
... vollkommen neben der Spur.

Grüße
Biber


Ne, der hat einen String in dem Format "20:04 Uhr 26.03.2006". Datenbank-Design-Fail.
Bitte warten ..
Mitglied: Biber
05.02.2010 um 17:12 Uhr
Moin spytnik,

Zitat von 48507:
Ne, der hat einen String in dem Format "20:04 Uhr 26.03.2006". Datenbank-Design-Fail.

Ja nee... schon klar...

Ich formuliere es mal um:
Bei meinen Batchen habe den Vorteil, dass ich beim Umformatieren ""20:04 Uhr 26.03.2006". in "20060326200400" oder selbst "2006-03-26 20:04:00" eigentlich gar nicht überlegen muss, wann denn neulich mal Schaltjahre waren...

Aber PHP ist da anscheinend etwas komplexer.... neumodisches Krams, GUI-basiertes..*kopfschüttel*

Grüße
Biber
Bitte warten ..
Mitglied: dog
05.02.2010 um 18:36 Uhr
Ja, wo laufen wir denn?

Ich weiß ja nicht wer hier die Idee mit den Schaltjahren ins Spiel gebracht hat (ach, der TO) aber das ist ja vollkommen daneben.
Arano hat den richtigen Tipp schon gegeben: mktime()

01.
<?php 
02.
 
03.
	$in = "20:04 Uhr 26.03.2006"
04.
	 
05.
	if(!preg_match('/^(\d{2}):(\d{2}) Uhr (\d{2})\.(\d{2})\.(\d{4})$/i', $in, $match)) 
06.
		throw new Exception("Ungültiges Format!"); 
07.
	 
08.
	$timestamp = mktime(intval($match[1]), intval($match[2]), 0, intval($match[4]), intval($match[3]), $match[5]); 
09.
 
10.
	var_dump($timestamp); #=> int(1143396240) 
11.
	var_dump(date('Y-m-d H:i:s',$timestamp)); #=> string(19) "2006-03-26 20:04:00" 
12.
?>
Grüße

Max
Bitte warten ..
Mitglied: Pixelschubser
05.02.2010 um 21:26 Uhr
Vielen Dank Max!

Genau so wie ich es wollte.
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

PHP
gelöst PHP-MySQL - mysqli liefert einen Datensatz zu wenig (3)

Frage von Windows-Spieler zum Thema PHP ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...

Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...