【发布时间】:2010-08-05 15:23:44
【问题描述】:
我不太了解 DatePeriod、DateInterval 类。这个问题与另一个问题有关 - How to display converted time zones in a 'generic week' (Sunday thru Saturday)? 我想参数化 artefacto 提供的解决方案。
我们将不胜感激!
这是artefacto的代码:
$tz1 = new DateTimezone("Asia/Calcutta");
$indiaAvail = array(
new DatePeriod(new DateTime("2010-08-01 10:00:00", $tz1),
new DateInterval("PT2H15M"), 1)
);
这是我想出的:
function shift_timezones_onweek($from_timezone, $from_timebegin, $from_timeend, $to_timezone)
{
$tz1 = new DateTimezone($from_timezone);
$datetime1 = new DateTime("2010-08-01 $from_timebegin", $tz1);
$datetime2 = new DateTime("2010-08-01 $from_timeend", $tz1);
$interval = $datetime1->diff($datetime2);
$indiaAvail = array(
new DatePeriod($datetime1, $interval, 1)
);
...
正如 artefacto 指出的那样,“从两次构建 DatePeriod 只是为了让它在这两个日期之后立即分解是没有意义的”,但是我不明白如何轻松修改它以使其与其余日期一起工作他的代码(我猜它需要 $indiaAvail 存在......)
【问题讨论】:
标签: php datetime time timezone