PHP Time()转换为Google Calendar Dates时间格式

| 我有一个事件的开始和结束时间的PHP时间。这是将来某个日期的开始和结束时间的简单“ 0”。我想知道是否有人知道采用数字格式(PHP time())还是采用某种表示该时间的字符串值(我可以做一个ѭ1and)并将其转换为所需的Google日历时间格式的方法。 谈话足够多-这是时间格式的示例:
20150107T003000Z/20150107T023000Z
这相当于2015年1月6日下午5:30到2015年1月6日下午7:30。 那么有人可以向我解释如何将ѭ3转换为这种格式吗?     
已邀请:
工作解决方案取自http://php.net/manual/en/function.date.php 归功于Boris Korobkov。
// boris at psyonline dot ru 14-Jun-2007 03:05

<?php

/**
 * Get date in RFC3339
 * For example used in XML/Atom
 *
 * @param integer $timestamp
 * @return string date in RFC3339
 * @author Boris Korobkov
 */
function date3339($timestamp=0) {

    if (!$timestamp) {
        $timestamp = time();
    }
    $date = date(\'Y-m-d\\TH:i:s\', $timestamp);

    $matches = array();
    if (preg_match(\'/^([\\-+])(\\d{2})(\\d{2})$/\', date(\'O\', $timestamp), $matches)) {
        $date .= $matches[1].$matches[2].\':\'.$matches[3];
    } else {
        $date .= \'Z\';
    }
    return $date;
}

?>
背景:   从     http://www.ibm.com/developerworks/opensource/library/os-php-xpath/   我看见     \“发布和更新的元素使用RFC 3339时间戳格式。” 并认为我应该使用Google \“ rfc3339 PHP \\”找到实现此格式的函数     
尝试这个:
date_default_timezone_set(\'UTC\');
$date = date(\"Ymd\\THis\\Z\");
第一行将默认时区设置为UTC(这是格式化时间末尾的“ Z”:“6ѭ)。我这样做是因为我不知道Google是否期望UTC时间。如果可以使用其他时区,则可以使用其他时区格式之一。 在下一行中,我使用ѭ7来格式化当前的Unix时间戳(当没有时间戳传递给ѭ7时,它默认为当前时间-即ѭ3)。我会为您分解:
Y
-四位数年份
m
-两位数的月份(如有必要,包括前导零)
d
-两位数字(如有必要,包括前导零)
\\T
-文字字符
T
,这是一个分隔符,用于标识日期的时间部分正在开始。斜杠用于转义T,否则将用于显示时区缩写(例如\“ PST \”)
H
-两位小时(如有必要,包括前导零)
i
-两位数(如有必要,还包括前导零)
s
-两位数字(必要时包括前导零)
\\Z
-文字字符
Z
,表示如上所述的祖鲁时间。斜杠是为了逃避T,否则将用于显示以UTC为单位的时区(以秒为单位)。 作为参考,并确保我正确解释了该问题,此代码:
date_default_timezone_set(\'UTC\');
echo date(\"Ymd\\THis\\Z\", time());
当前显示此结果:
20110415T014623Z
我应该注意,您也可以使用
gmdate()
代替
date()
,并且不需要
date_default_timezone_set()
调用,因为
gmdate()
在GMT中返回结果。我只是毫不犹豫地提及这一点,因为我从来没有100%清楚地了解格林尼治标准时间和UTC之间的差异,如果有的话,尤其是与其他时区/时段(例如BST(英国夏令时))以及它们如何改变格林尼治标准时间(如果有的话) 。如果有人可以在评论中澄清这一点,我将不胜感激。     
它有点旧,但Google希望能在ISO 8601中获得使用时间。示例:
$objDateTime = new DateTime(\'NOW\');
$isoDate = $objDateTime->format(DateTime::ISO8601);
资源     

要回复问题请先登录注册