php - 如何在 PHP 中的一天两次之间回显语句
问题描述
我试图根据一天中四个特定时间之间的时间显示一条消息,但我不明白我的错误。下面是我的代码和我的错误信息。
$curtime = date("h:i:sa");
echo $curtime;
if ($curtime >= 5:45:00am and $curtime =< 11:59:59am){
echo "Good Morning";
}
if ($curtime >= 12:00:00pm and $curtime =< 5:59:59pm){
echo "Good Afternoon";
}
if ($curtime >= 6:00:00pm and $curtime =< 5:44:59am){
echo "Good Evening";
}
错误信息:
PHP Syntax Check: Parse error: syntax error, unexpected ':' in your code on line 11
解决方案
错误来自5:45:00am
刚刚挂在那里的文本。
您需要从字符串创建日期对象,例如:
$curtime = date_create_from_format("h:i:sa", date("h:i:sa"));
$date1 = date_create_from_format("h:i:sa", '5:45:00am');
$date2 = date_create_from_format("h:i:sa", '11:59:59am');
然后使用该日期对象与当前进行比较:
if ($curtime >= $date1 and $curtime <= $date2){
echo "Good Morning";
}
但是,将当前的 24 小时 + 分钟 + 秒存储在变量中并使用它们进行比较会更快
$curtime = date('His');
if ($curtime >= 54500 and $curtime <= 0){
echo "Good Morning";
}
if ($curtime >= 120000 and $curtime <= 175959){
echo "Good Afternoon";
}
if ($curtime >= 180000 and $curtime <= 54459am){
echo "Good Evening";
}
推荐阅读
- java - 为结果启动 BottomSheetFragment
- java - AudioRecord.StartRecording() 是抛出 Java.Lang.IllegalException 说未初始化的 AudioRecorder
- html - 在 xcode 中的应用程序上运行网站并收到错误“线程 1:信号 SIGABRT”
- c# - 单元测试异步方法在方法完成之前测试断言
- javascript - 创建交错选择框
- asn1 - 无法使用 asn1 编译器生成所需的数据结构
- firebase - * Firebase/BigQuery 中的活跃用户差异*
- c++ - 如何将代码点转换为 utf-8?
- python - 如何使用其 REST API 在 Jupyter Hub 中启动笔记本服务器?
- c# - 如何在 C# 中使用 Selenium 发送密钥“和”?