我有一个脚本,可以从我的日期数据库生成iCal供稿。我发现脚本正在调整夏令时 - 即数据库中的所有开始时间都是21:00,但是3月底之后列出的日期调整为22:00 ......我怎么能阻止这个? ...我只是希望时间显示在数据库中,并且我不希望对夏令时或时区进行任何调整(因为该网站针对的是英国观众)。
mysql_select_db($database_name, $connection); // makes other mysql_ functions act on this database
echo "BEGIN:VCALENDAR\r\n"; //some static ical headers
echo "VERSION:2.0\r\n";
echo "PRODID:-//www.the-guards.co.uk gig bible ical feed v1//EN\r\n";
echo "X-WR-CALNAME:Gig Dates\r\n";
echo "X-WR-TIMEZONE:Europe/London\r\n";
echo "X-WR-CALDESC:Private gig diary.\r\n";
$query = " … "; /* [SQL Query] */
$result = mysql_query($query);
define('DATE_ICAL', 'Ymd\THis\Z');
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo
"BEGIN:VEVENT\r\n".
"UID:{$row['id']}\r\n".
"SUMMARY:{$row['location_name']}\r\n".
"DTSTART:" .date(DATE_ICAL, strtotime("{$row['starts']}"))."\r\n".
"DTEND:" .date(DATE_ICAL, strtotime("{$row['ends']}"))."\r\n".
"END:VEVENT\r\n"
;
}
echo "END:VCALENDAR\r\n";
答案 0 :(得分:1)
您可以使用此选项将时区设置为脚本运行时的GMT + 0时区:
date_default_timezone_set('GMT');
然后date()不再改变时间