php - date_default_timezone_set() 损坏的时区
问题描述
<?php
date_default_timezone_set('Europe/Dublin');
$time = date("H:i a");
$hour = date("H");
?>
<?php if($hour >=6 && $hour <12){?>
<body class="morning">
<div id="txt1"><h1 id='time'><?= $time?></h1></div>
<div id='dayMessage'>Good Morning</div>
<?php } elseif($hour >= 12 && $hour <18){?>
<body class="afternoon">
<div id="txt1"><h1 id='time'><?= $time?></h1></div>
<div id='dayMessage'>Good Afternoon</div>
<?php } elseif($hour >= 18 && $hour <0){?>
<body class="evening">
<div id="txt1"><h1 id='time'><?= $time?></h1></div>
<div id='dayMessage'>Good Evening</div>
<?php } elseif($hour >= 0 && $hour <6){?>
<body class="night">
<div id="txt1"><h1 id='time'><?= $time?></h1></div>
<div id='dayMessage'>Good Night</div>
<?php }?>
使用欧洲时区运行此代码会返回一个空白页,而使用date_default_timezone_set('America/Los_Angeles')
返回背景和时间。这是否意味着我的安装有问题或某些时区刚刚损坏?
解决方案
这个条件没有意义:
else if($hour >= 18 && $hour <0) ...
没有小于0
同时大于18
.. 的数字。如果要表示插槽[18-24]
,只需取消>= 18
:
else if($hour >= 18) ...
推荐阅读
- python - 'rasa' 不是内部或外部命令、可运行程序或批处理文件
- python - 是否可以仅在列表中显示时简化 __repr__ 显示?
- reactjs - React Native Release apk 在访问相机视图时失败
- mysql - 在 `__in` 中的列表中包含一项的查询非常慢。否则,超级快
- python - 处理两个不同月份的两个日期的计算
- node.js - 使用 mongoose 在 mongodb 中存储 ArrayBuffer
- firebase - 无法使用链接到 Squarespace 的自定义域设置动态链接
- python - python:类函数返回值但不可用
- magento - 无法打开 magento 1.9 管理面板
- mysql - 如何在价格历史表中删除所有产品但保留 N 个最新行