2009-07-21 14 views
6

Wie würde ich nach dem Unix-Zeitstempel von Mitternacht des vorherigen Mittwochs suchen? Mein einziger Ansatz wäre, den Tagesindex und die Tagesnummer von heute zu erhalten und den Unterschied zu subtrahieren, aber ich kann mir verschiedene Szenarien vorstellen, in denen dies fehlschlagen würde, zum Beispiel früh in einem Monat, bevor ein Mittwoch passiert ist.Erhalte den Unix-Zeitstempel von Mitternacht des vorherigen Mittwochs

Ich denke, prägnanter, wie finde ich das Datum des vorherigen Mittwochs?

Jede Hilfe wäre willkommen.

+0

Sie Mitternacht Ortszeit suchen sind, oder Mitternacht UTC? –

Antwort

5

Was ist mit strtotime?

$timestamp = strtotime("last Wednesday"); 

var_dump($timestamp); 
var_dump(date('Y-m-d H:i:s', $timestamp)); // to verify 

Und Sie erhalten diese Ausgabe:

int 1247608800 
string '2009-07-15 00:00:00' (length=19) 

die in der Tat am vergangenen Mittwoch ist Mitternacht.

4

Es ist einfacher als Sie vielleicht denken ... die gewaltige Feuerkraft dieser voll funktionsfähigen Kampfstation , beobachten äh, ich meine strtotime

$t=strtotime("last wednesday"); 

echo strftime("%d %b %Y %H:%M:%S", $t); 

Dies wird Ausgang

15 Jul 2009 00:00:00 

Welche, zum Zeitpunkt des Schreibens, ist letzten Mittwoch :)

0

Wie "korrekt" möchten Sie sein? Wenn Sie sehr korrekt sein möchten, müssen Sie die Sommerzeit, Zeitzonen, Schaltjahre usw. berücksichtigen. Das bedeutet, dass Sie eine Bibliothek verwenden und nicht nur Tagesindizes subtrahieren.

ich tun PHP bin derzeit nicht, aber ich habe mit den Birnen Bibliotheken viel Glück haben: hier sind die docs für die Kalender-Klasse

Verwandte Themen