Mic*_*ael 4 php time datetime google-calendar-api
我有PHP时间用于事件的开始和结束时间.这<?php time(); ?>
对于未来某个日期的开始和结束时间来说非常简单.我想知道是否有人知道如何采用数字格式(PHP时间())或采用代表该时间的一些字符串值(我可以做strtotime($sometimevalue);
)并将其转换为所需的Google日历时间格式.
足够的说话 - 这里是时间格式的一个例子:
20150107T003000Z/20150107T023000Z
Run Code Online (Sandbox Code Playgroud)
这相当于2015年1月6日下午5:30至2015年1月6日晚上7:30.
那么有人可以向我解释如何将a翻译time()
成这种格式吗?
试试这个:
date_default_timezone_set('UTC');
$date = date("Ymd\THis\Z");
Run Code Online (Sandbox Code Playgroud)
第一行设置用于UTC的默认时区(这是格式化时间结束时的"Z":) Z = "Zulu Time"
.我这样做是因为我不知道Google是否期待UTC时间.如果您可以使用其他时区,则可以使用其他时区格式之一.
在下一行中,我date
用来格式化当前的Unix时间戳(当没有时间戳传递给date
它时默认为当前时间 - 即time()
).我会为你分开它:
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());
Run Code Online (Sandbox Code Playgroud)
目前显示以下结果:
20110415T014623Z
Run Code Online (Sandbox Code Playgroud)
我应该注意,您也可以使用gmdate()
代替date()
并消除date_default_timezone_set()
调用的需要,因为gmdate()
返回GMT中的结果.我只是毫不犹豫地提到这一点,因为我从来没有100%明确GMT和UTC之间的差异,特别是与BST(英国夏令时)之类的其他时区/时期以及它们如何改变GMT(如果有的话).如果有人可以在评论中澄清这一点,我将非常感激.
工作解决方案取自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;
}
?>
Run Code Online (Sandbox Code Playgroud)
背景:来自 http://www.ibm.com/developerworks/opensource/library/os-php-xpath/ 我看到"已发布和更新的元素使用RFC 3339时间戳格式".
并认为我应该谷歌"rfc3339 PHP"找到实现这种格式的功能