如何获取一周中某一天的时间戳?

时间:2011-02-24 09:02:00

标签: php timestamp weekday

基本上,我有此要求将当前/未来的工作日转换为时间戳。

示例:

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

3 个答案:

答案 0 :(得分:3)

strtotime('Tue')将返回下周二的时间戳。

strtotime('Tue', $time)将从给定的时间戳返回下一个星期二的时间戳。

答案 1 :(得分: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);
}

谈论过度设计它!

无论如何,如果有人想在过去(最后一个工作日)使用它,可以很容易地进行调整。

答案 2 :(得分:0)

你试过吗

strtotime("+7 days", strtotime("Thu, 24 Feb 2010"))