前の水曜日の真夜中のUNIXタイムスタンプを見つけるにはどうすればよいですか?私の唯一のアプローチは、今日の日インデックスと日数を取得し、その差を差し引くことですが、たとえば、水曜日が発生する前の1か月の初めに、これが失敗するいくつかのシナリオを考えることができます。
もっと簡潔に言えば、前の水曜日の日付を見つけるにはどうすればよいでしょうか。
どんな助けでもいただければ幸いです。
前の水曜日の真夜中のUNIXタイムスタンプを見つけるにはどうすればよいですか?私の唯一のアプローチは、今日の日インデックスと日数を取得し、その差を差し引くことですが、たとえば、水曜日が発生する前の1か月の初めに、これが失敗するいくつかのシナリオを考えることができます。
もっと簡潔に言えば、前の水曜日の日付を見つけるにはどうすればよいでしょうか。
どんな助けでもいただければ幸いです。
どうstrtotime
ですか?
$timestamp = strtotime("last Wednesday");
var_dump($timestamp);
var_dump(date('Y-m-d H:i:s', $timestamp)); // to verify
そして、次の出力が得られます。
int 1247608800
string '2009-07-15 00:00:00' (length=19)
それは確かに先週の水曜日の真夜中です。
想像するよりも簡単です...この完全に機能する戦闘ステーションの素晴らしい火力を観察してください。つまり、strtotimeです。
$t=strtotime("last wednesday");
echo strftime("%d %b %Y %H:%M:%S", $t);
これは出力されます
15 Jul 2009 00:00:00
これを書いている時点では、先週の水曜日です:)
あなたはどのくらい「正しく」なりたいですか?非常に正確にしたい場合は、夏時間、タイムゾーン、うるう年などを考慮する必要があります。これは、日のインデックスを減算するだけでなく、ライブラリを使用することを意味します。
私は現在PHPを行っていませんが、以前はPearライブラリで幸運でした.Calendarクラスのドキュメントは次のとおりです