6

前の水曜日の真夜中のUNIXタイムスタンプを見つけるにはどうすればよいですか?私の唯一のアプローチは、今日の日インデックスと日数を取得し、その差を差し引くことですが、たとえば、水曜日が発生する前の1か月の初めに、これが失敗するいくつかのシナリオを考えることができます。

もっと簡潔に言えば、前の水曜日の日付を見つけるにはどうすればよいでしょうか。

どんな助けでもいただければ幸いです。

4

3 に答える 3

5

どう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)

それは確かに先週の水曜日の真夜中です。

于 2009-07-21T20:14:39.163 に答える
4

想像するよりも簡単です...この完全に機能する戦闘ステーションの素晴らしい火力を観察してください。つまり、strtotimeです。

$t=strtotime("last wednesday");

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

これは出力されます

15 Jul 2009 00:00:00

これを書いている時点では、先週の水曜日です:)

于 2009-07-21T20:12:51.990 に答える
0

あなたはどのくらい「正しく」なりたいですか?非常に正確にしたい場合は、夏時間、タイムゾーン、うるう年などを考慮する必要があります。これは、日のインデックスを減算するだけでなく、ライブラリを使用することを意味します。

私は現在PHPを行っていませんが、以前はPearライブラリで幸運でした.Calendarクラスのドキュメントは次のとおりです

于 2009-07-21T20:18:37.003 に答える