我想在一个表单中填充一个下拉列表,其中包含接下来4个星期五和星期六的日期。这是为某种预订系统准备的。我想我应该使用strtotime
函数。但是,我想订购这个下拉菜单,这样,如果用户在星期六尝试操作,第一个星期六选项将首先显示。我想用填充菜单
strtotime('friday');
strtotime('saturday');
strtotime('+1 weeks friday');
strtotime('+1 weeks saturday');
strtotime('+2 weeks friday');
strtotime('+2 weeks saturday');
strtotime('+3 weeks friday');
strtotime('+3 weeks saturday');
但很明显,如果在周六使用,这是行不通的。(即,下星期五将显示在当前星期六的上方)。有人能提出绕过这个问题的方法吗?
很抱歉,如果这个问题杂乱无章,但这是漫长的一天:p
编辑:为了澄清,我正在寻找一种自动将列表排序更改为的方法
strtotime('saturday');
strtotime('+1 weeks friday');
strtotime('+1 weeks saturday');
strtotime('+2 weeks friday');
strtotime('+2 weeks saturday');
strtotime('+3 weeks friday');
strtotime('+3 weeks saturday');
strtotime('+4 weeks friday');
如果用户在星期六运行脚本。(即在列表中保留8个项目,第一个项目是下一个可用日期)。
我假设这个字符串正在被传递给strtotime()?
不要用"下周五"answers"下周六"。说"下周五"总是会让你在今天之后的下周五。只需使用"friday",如果今天是星期五,则返回与"today"相同的值,否则返回与"next friday"相同。
要获得接下来的四个星期五和星期六,请执行以下操作:
strtotime('friday');
strtotime('saturday');
strtotime('+1 weeks friday');
strtotime('+1 weeks saturday');
strtotime('+2 weeks friday');
strtotime('+2 weeks saturday');
strtotime('+3 weeks friday');
strtotime('+3 weeks saturday');