0
タイムゾーンを比較していて、期待通りに動作しません。タイムゾーンを比較する問題
$input_start_time = DateTime::createFromFormat('Y-m-d H:i:s','2017-01-17 08:00:00');
$input_start_time->setTimezone(new DateTimeZone("UTC"));
$input_end_time = DateTime::createFromFormat('Y-m-d H:i:s','2017-01-17 20:00:00');
$input_end_time->setTimezone(new DateTimeZone("UTC"));
$current_date = new DateTime("Asia/Seoul");
print_r($input_start_time);
print_r($input_end_time);
print_r($current_date);
while($input_start_time <= $input_end_time)
{
if($input_start_time <= $current_date)
{
echo $input_start_time->format('h:i A').PHP_EOL;
}
$input_start_time->add(new DateInterval('PT30M'));
}
私はUTC
フォーマット内のデータを保存し、Asia/Seoul
すなわち別のtimezone
以内にそれを比較する必要がありますが、私はそれはそう間違った方法でそれをやっているかもしれませんよこっち。現在、それは私のすべては大丈夫ですが、私はやや
07:00 AM
07:30 AM
08:00 AM
08:30 AM
09:00 AM
.....
06:00 PM
06:30 PM
として間違っている私はこちらにやっている?のような結果を取得する必要が
DateTime Object
(
[date] => 2017-01-17 07:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
DateTime Object
(
[date] => 2017-01-17 19:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
DateTime Object
(
[date] => 2017-01-17 18:19:03.000000
[timezone_type] => 3
[timezone] => Asia/Seoul
)
07:00 AM
07:30 AM
08:00 AM
08:30 AM
09:00 AM
としてのような出力を提供しますか