gpt4 book ai didi

php - 验证日程安排的日期时间输入

转载 作者:行者123 更新时间:2023-12-02 00:50:52 25 4
gpt4 key购买 nike

我有一个调度系统学校项目,我需要创建一个函数来验证用户输入的日期,检查是否提前 2 天,而不是星期天,并且是在工作时间之间。

我正在使用 codeigniter 框架。

//my controller looks like this:
public function checkDateTimeInput(){
$dateTimeInput = $this->input->post('dateTimeInput');
if($dateTimeInput /*Greater than 2 days or more*/ && /*not sunday*/ && /*between 8AM-5PM*/){
return true;
}else{
return false;
}
}



//in my view:
<?php echo form_open('schedules/checkDateTimeInput'); ?>
<input type="datetime-local" name="dateTimeInput">
<input type="submit" value="submit">
</form>

最佳答案

为了完成,我将考虑 <input type="datetime-local" name="dateTimeInput">作为输入。

所以这基本上创建了这种格式:

d/m/Y h:i A

我在我的浏览器 (Chrome) 上试过了,它确实做到了。更多信息也在这里:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local

考虑到这一点,您可以使用 createFromFormat解析输入并使用 DateTime类。

$input = DateTimeImmutable::createFromFormat('d/m/Y h:i A', $dateTimeInput);
$dt = new DateTime; // now
if (
($input >= $input->setTime(8, 0) && $input <= $input->setTime(17, 0)) && // time is between 8 to 5
$input->format('l') !== 'Sunday' && // is not sunday
$dt->diff($input)->d >= 2 // is greater or more than two days

) {
return true;
}

return false;

这是一个示例 output

旁注:我还应该指出 type="datetime-local" Firefox 浏览器不支持,应考虑使用实时日期时间插件。如果用户碰巧使用 Firefox,您应该准备回退。

关于php - 验证日程安排的日期时间输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57766291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com