我想在PHP中执行以下操作(我使用的是5.2版):
IF form_date = current_date AND server_time >= 3:00pm EST
GIVE ERROR
form_date:用户输入表单的日期。
current_date:今天的日期。
server_time:主机服务器提供的当前时间。
这是我到目前为止所做的:
//time validation
if (date("Gi") > '1500') {
$process_result['custom_error'] = "You not able to register after 3 PM";
}
我不知道如何完成此操作,因为PHP根本不是我的事情。此外,服务器是否仅返回其设置的任何时区,或者是否可以将其更改为特定时区,例如东部标准(EST)?
预先感谢您的协助!
答案 0 :(得分:1)
要设置默认时区,请使用: http://www.php.net/manual/en/function.date-default-timezone-set.php
date_default_timezone_set('America/New_York');
要完成代码,我会重定向到另一个页面,告诉用户它完全失败了:
<?php
date_default_timezone_set('America/New_York');
if (date("Gi") > '1500') {
header("Location: http://example.com/failed_registration.php");
}else{
//how are you going to register them?
}
答案 1 :(得分:0)
我最终使用了以下功能。
//time validation for day-of reservations
date_default_timezone_set('America/New_York');
if (date("Gi") >= '1500'){
if (date("m.d.y") == date("m.d.y",strtotime($table_data['element_' . $date_element_id]))){
$error_elements[$date_element_id] = 'You are not able to make an online reservation for today, after 3:00pm EST. Please call us at xxx-xxx-xxxx to make your reservation.';
}
}