php - 显示是否比当前时间早 30 分钟
问题描述
我需要一个注册按钮在会议开始前 30 分钟消失。我的会议日期存储在一个字段中,开始时间在另一个字段中。日期的条件代码工作正常,但不能与时间代码结合使用。我有以下代码,但是它不能正常工作。
<?php
if ($meetings->getColumnVal("meeting_date") >= date('Y-m-d')) {
if (date("h:i") > date("h:i", strtotime('-30 minutes', $meetings->getColumnVal("start_time")))) { ?>
<br><a href="register.php?meetingID=<?php echo($meetings->getColumnVal("theID")); ?>" title="register">Register to Attend</a>
<?php }
}
?>
解决方案
if(time() <= strtotime("-30 minutes", strtotime( $meetings->getColumnVal("meeting_date")." ".$meetings->getColumnVal("start_time") ))){
// time is less than 30 minutes ago from meeting start_time
}
- 连接
$meetings->getColumnVal("meeting_date")
和$meetings->getColumnVal("start_time")
- 为连接的日期字符串生成 Unix 时间
strtotime()
- 从 unix 时间中减去 30 分钟,用整数减去
-1800
or,strtotime("-30 minutes", $unix_time)
- 比较新的 Unix 时间和当前时间
time()
您还需要检查的另一件事是您的 PHP 时区和 MySQL 时区是否相同。
推荐阅读
- python - 如何将 for 循环转换为列表理解或 lambda 函数
- scala - Scala拆分了两个未分隔的单词
- tor - Tor 隐藏服务 - 以编程方式添加服务而不使用 torrc 文件
- python - Pyinstaller 程序工作正常,但如果我尝试用 zip 或 7z 压缩它,它会冻结 Windows
- typescript - 如何使用 Typescript 在自定义验证器中使用 Vuelidate Ref
- powershell - 将字符串替换为从 a 开始到 z 为 26 的数字
- rest - 是否可以通过 PayPal API 使用授权 ID 获取交易和/或捕获 ID?
- java - 如何将文件下载到特定文件夹
- python - 从数据框的列中排名和提取数据?
- javascript - 执行脚本以从服务人员修改选项卡 html