Я использую данные Zend Framework для API Календаря Google и выходные данные даты и времени в RFC3339 (который выглядит следующим образом: 2012-01-19T22: 00: 00.000-08: 00). Какой php-код мне нужно добавить, чтобы преобразовать его в UTC, чтобы он выглядел так: 19 января 2012 г., 20:00 - 11:00? Я нашел php-код, который преобразует даты RFC в строку, но я не знаю достаточно о php, чтобы можно было изменить код для работы с формулами Zend Gdata ... как вы увидите в моем коде ниже, «date» "называется" когда "... поэтому любой код должен каким-то образом соединить эти два ... любая помощь приветствуется!
<?php
$path = '/home/ZendGdata/library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
// User whose calendars you want to access
$user = 'my@email.com';
$pass = 'mypassword';
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // predefined service name for calendar
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$service = new Zend_Gdata_Calendar($client);
$query = $service->newEventQuery();
// Set different query parameters
$query->setUser('mycalendarID');
$query->setVisibility('private');
$query->setProjection('full');
$query->setOrderby('starttime');
// Start date from where to get the events
$query->setStartMin('2012-01-01');
// End date
$query->setStartMax('2050-03-15');
// Get the event list
try {
$eventFeed = $service->getCalendarEventFeed($query);
} catch (Zend_Gdata_App_Exception $e) {
echo "Error: " . $e->getMessage();
}
echo "<ul>";
foreach ($eventFeed as $event) {
echo "<tr>";
foreach ($event->when as $when) {
echo "<td>" . $when->startTime . "</td>";
}
echo "<td>" . $event->content . " </td>";
$where=$event->Where;
foreach($where as $eventplace)
{
echo "<td>" . $eventplace . " </td>";
}
}
echo "</tr>";
echo "</ul>";
?>
Спасибо за эту информацию @ vascowhite.
Два выпуска:
Выход получился так:
строка (23) «20 января 2012 года: 06:00»
Я извлекаю эту информацию из моего календаря Google, и она выводится на мою HTML-страницу ... Я не создаю новые события через этот php ... поэтому этот код просто преобразовал дату, которую вы написали , она не конвертировала мою дату в календаре Google, полученную из этого кода:
foreach ($event->when as $when) {
echo "<td>" . $when->startTime . "</td>";
}
Вы знаете, как это сделать?
Спасибо,
Susan