我有一个日期,我通过 formatDate 存储为时间戳jQuery 中的函数。然后我将检索此值以制作一个 ics 文件,一个将事件时间和详细信息添加到用户日历的日历文件。但是时间戳格式在 ics 文件中不起作用,没有添加正确的日期,因此我需要将其转换为类似于 20091109T101015Z
的值。它的当前格式作为时间戳看起来像 1344466800000
这来自 this example这就是我创建 ics 文件所遵循的内容。
我的 php 文件链接是 http://域。 com/icsCreator.php?startDate=1344380400000&endDate=1345503600000&event=Space%20Weather%20Workshop&location=伦敦
当前我的 ics 文件看起来像
<?php
$dtStart=$_GET['startDate'];
$dtEnd=$_GET['endDate'];
$eventName=$_GET['event'];
$location=$_GET['location'];
...
echo "CREATED:20091109T101015Z\n";
echo "DESCRIPTION:$eventName\n";
echo "DTEND:$dtEnd\n";
echo "DTSTART:".$dtStart."\n";
echo "LAST-MODIFIED:20091109T101015Z\n";
echo "LOCATION:$location\n";
...
?>
最佳答案
看看这是否有效:
date('Ymd\THis', $time)
此处 $time
可以是查询字符串中的 startDate
或 endDate
。如果你不想花时间:
date('Ymd', $time)
注意(感谢 Nicola)这里,$time
必须是有效的 UNIX 时间戳,即它必须表示自纪元以来的秒数。如果表示毫秒数,需要先除以1000。
编辑 正如lars k 所指出的,您需要将\Z
添加到两个字符串的末尾。
编辑 正如Nicola 所指出的,您实际上并不需要它。
关于php - 将时间戳转换为 .ics iCal 兼容的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11793840/