0

基本的に、現在/将来の平日をタイムスタンプに変換するためのこの要件があります。

例:

today     = Thu, 24 Feb 2010
weekday   = Tue
next date = Tue,  1 Mar 2010
cur stamp = 1267016400
new stamp = 1267448400
4

3 に答える 3

3

strtotime('Tue')次の火曜日のタイムスタンプを返します。

strtotime('Tue', $time)指定されたタイムスタンプから次の火曜日のタイムスタンプを返します。

于 2011-02-24T09:04:43.367 に答える
0

これは私が最終的に得たコードです:

/**
 * @param $weekday string The weekday in short (3 letter) format, eg: "Mon" or "Tue".
 * @return integer The calculated timestamp.
 */
function next_weekday_to_stamp($weekday,$today=null){
    if(!$today)$today=time();
    $range = array('Mon','Tue','Wed','Thu','Fri','Sat','Sun','Mon','Tue','Wed','Thu','Fri','Sat','Sun');
    $days = array_search(date('D'), $range);
    $range = array_slice($range, $days);
    $days = array_search($weekday, $range);
    return strtotime('+'.$days.' days', $today);
}

それを過剰に設計することについて話してください!

とにかく、誰かが過去(先週の平日)にこれを使用したい場合、それは簡単に適応させることができます。

于 2011-02-24T09:06:14.667 に答える
0

やってみました

strtotime("+7 days", strtotime("Thu, 24 Feb 2010"))
于 2011-02-24T09:13:16.907 に答える