我知道有一个关于如何在PHP中获得最后星期四的类似帖子,但我不想将最后星期四与当前日期进行比较,而是将最后星期四与给定日期进行比较。
例如,我有一个日期dd/mm/yyyy,我想要这个日期之前的星期四。输入是一个字符串(字符串yymmdd的格式),我想解析它以获得该日期之前的星期四。
谢谢你的帮助
//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天报告(但如果日期是星期五,它只会提前一天报告)。
$day = date('w', $yourTime);
$time = $yourTime - ($day > 4 ? ($day - 4) : ($day + 7 - 4)) * 3600 * 24;
其中$yourTime
和$time
都是unix时间戳。
编辑: @Rudu的解决方案更简单,你应该坚持那个:)!