【发布时间】:2011-08-23 06:55:16
【问题描述】:
在 PHP 中,我想输出一个 HTML 选项列表,其中包含未来 14 天的日期。
这些约会总是在 18 点:
$today_day = date('d');
$today_month = date('m');
$today_year = date('Y');
$date_entry = mktime(18, 00, 00, $today_month, $today_day, $today_year);
$optionsStr = '<select name="date">';
for ($d = 1; $d < 14; $d++) {
$date_entry_temp = $date_entry+86400*$d;
$optionsStr .= '<option value="'.$date_entry_temp.'">'.date('d.m.Y', $date_entry_temp).'</option>';
}
$optionsStr .= '</select>';
echo $optionsStr;
然后,用户可以从这些日期之一中进行选择并提交表单。然后将选择的时间戳插入到数据库中。
所以我的数据库中有一些条目。
在另一个页面上有一个当前约会的列表:
mysql_query("SELECT id, name FROM appointments WHERE date_time = ".time());
所以在 18 点应该有一些输出,因为数据库中有当天的条目。在时间从 DST 更改为标准时间之前,这非常有效,反之亦然。那么,确实是错的:
约会分别显示太晚或太早一小时。
我该如何解决这个问题?
【问题讨论】:
-
请停止在标题中写标签。你的 112 道题中的很多题都答对了。
-
对不起,我不知道是为了避免这种情况。对不起,我应该更仔细地阅读指南。
-
18 点,我确定您的意思是 1800 小时。 (一千八百小时)
-
不,我的意思是我说的:18 点,也就是下午 6 点。