2009-07-21 13 views
6

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

もっと簡潔に言えば、前の水曜日の日付はどのようにして確認できますか?

ご協力いただければ幸いです。

+0

ためdocsあるあなたは深夜現地時間、または真夜中のUTCをお探しですか? –

答えて

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) 

確かに前水曜日、深夜です。

4

それはあなたが...この完全に動作 バトルステーション の素晴らしい火力を観察思っているより簡単です、えー、私はこの意志出力

15 Jul 2009 00:00:00 

strtotime

$t=strtotime("last wednesday"); 

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

を意味し、書面の時は最後の水曜日です:)

0

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

私は現在、PHPは致しておりませんが、私は梨ライブラリと幸運を持っていた:ここ は、Calendarクラス

関連する問題