在PHP的日期之前获得最后一个星期四

时间:2011-07-27 15:01:20

标签: php datetime date

我知道有类似的帖子关于如何在PHP的最后一个星期四,但我不希望上周四比较当前日期,但上周四比较给定日期。

例如我有一个日期dd / mm / yyyy,我希望在此日期之前的星期四。 输入是一个String(字符串yymmdd的格式),我要解析它以获取此日期之前的星期四。

感谢您的帮助

2 个答案:

答案 0 :(得分:8)

//Assumes it's strtotime parsable, you may need to insert
//  slashes with your given format eg (and use 4 digit years)
$given=strtotime($dtstring);

//It's just that easy ;)
$thuBefore=strtotime("last thursday",$given);

请注意,这将始终是 last 星期四,这意味着如果给定日期是星期四,它会提前7天报告(但如果日期是星期五,它只会提前一天报告)。

答案 1 :(得分:3)

$day = date('w', $yourTime);
$time = $yourTime - ($day > 4 ? ($day - 4) : ($day + 7 - 4)) * 3600 * 24;

$yourTime$time都是Unix时间戳。

编辑: @ Rudu的解决方案更简单,你应该坚持下去:)!