Get-date-format wie "Y-m-d H:i:s" aus einem php Datum
Weiss einer einen Weg, um einen string der ein Datum enthält, das format von Datum?
<?php
$date = date ("2009-10-16 21:30:45");
//smething like this?
print date_format ($date);
?>
Ich Frage dies, weil ich möchte, um dies zu optimieren-Funktion, die ich geschrieben habe, in der Regel, um das Datum mit einer anderen Zeitzone, die von einem server, ohne dabei bestimmte Dinge
<?php
function get_timezone_offset ($timezone, $date = null, $format = null, $offset_timezone = null) {
if ($date == null) $date = date ($format);
if ($offset_timezone == null) $offset_timezone = date_default_timezone_get ();
if ($format == null) $format = "Y-m-d H:i:s";
//I'd like to find a way that can avoid me to write $format and get it directly from the date i pass, but I don't know a particular method can do it
//if ($format == null) $format = date_format ($date);
$date_time = new DateTime ($date, new DateTimeZone ($offset_timezone));
$date_time->setTimeZone (new DateTimeZone ($timezone));
return $date_time->format ($format);
}
print get_timezone_offset ("Europe/Rome");
print get_timezone_offset ("Europe/Rome", date ("Y-m-d H:i:s"));
print get_timezone_offset ("Europe/Rome", date ("Y-m-d H:i:s"), "Y-m-d H:i:s");
print get_timezone_offset ("Europe/Rome", "2009-10-16 21:30:45", "Y-m-d H:i:s", "America/New_York");
?>
Ich hoffe, um zu vermeiden, reguläre Ausdrücke für die performance-Gründen, aber ich weiß nicht, ob dies möglich ist
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich bin mir bewusst, es gibt keinen garantierten Weg, der nach hinten arbeiten. Der beste Weg sein könnte, um zu versuchen, reguläre Ausdrücke zu vergleichen, die gegen erwarten gut bekannten Formaten (z.B.
\d{2,4}[-/]\d{2}[-/]\d{2}
für "Y-m-d"), aber ich kann nicht denken, eine einfache Möglichkeit zu tun, die passenden ohne die Verwendung von regulären Ausdrücken. Sie wäre auch zu prüfen haben, die die geparsten format macht Sinn, und man kann nicht viel tun, um zu mehrdeutigen Datumsangaben wie 2. März 2009, die dargestellt werden können, als09/03/02
,2009-03-02
,02/03/09
,03/02/09
oder sogar09/02/03
.Können Sie konvertieren string Datum zu timestamp mit strtotime und kann mit dem timestamp, was immer Sie wollen. 😉
Die PHP date() Funktion formatiert einen timestamp in ein leichter lesbares Datum und Zeit. Versuchen Sie, diese-code für Ihr Projekt,
Ich weiß, es ist spät, aber es wäre am besten zu tun ist: