[英]PHP: Convert Local Time to UTC
假设我得到一个字符串,如08/22/2015 10:56 PM
,并且此日期/时间字符串始终仅指一个特定时区。 我需要能够将其转换为这种格式: 'Ymd\\THis\\Z'
,这是iCal格式。
'Ymd\\THis\\Z'
一直试图用strtotime和DateTime破解这个,但我担心我会以错误的方式解决这个问题。 也许有一个更简单,更直接的解决方案?
您可以使用DateTime
,例如:
<?php
$datetime = '08/22/2015 10:56 PM';
$tz_from = 'America/New_York';
$tz_to = 'UTC';
$format = 'Ymd\THis\Z';
$dt = new DateTime($datetime, new DateTimeZone($tz_from));
$dt->setTimeZone(new DateTimeZone($tz_to));
echo $dt->format($format) . "\n";
$minutes = 30;
$dt->add(new DateInterval('PT' . $minutes . 'M'));
echo $dt->format($format) . "\n";
根据主题; 要将本地时间转换为UTC,您需要给定当地时间的时区名称,或者如果您在GMT中有时timezone offset
; 你可以尝试以下方法:
//assume time zone is +3 hours
$offset = 3 * 60 * 60;
$date = date('H:i:s', strtotime("10:56 PM")- $offset);
echo $date;
这将输出:19:56:00,即UTC时间
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.