A very verbose loop. The construct function for the DateTime class isn't working properly for me but this works.
<?php
$date = "2011/03/20";
$date = explode("/", $date);
$time = "07:16:17";
$time = explode(":", $time);
$tz_string = "America/Los_Angeles"; // Use one from list of TZ names http://php.net/manual/en/timezones.php
$tz_object = new DateTimeZone($tz_string);
$datetime = new DateTime();
$datetime->setTimezone($tz_object);
$datetime->setDate($date[0], $date[1], $date[2]);
$datetime->setTime($time[0], $time[1], $time[2]);
print $datetime->format('Y/m/d H:i:s'); // Prints "2011/03/20 07:16:17"
?>
Дата и Время
- Введение
- Установка и настройка
- Предопределенные константы
- DateTime — Класс DateTime
- DateTime::add — Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к объекту DateTime
- DateTime::__construct — Конструктор класса DateTime
- DateTime::createFromFormat — Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
- DateTime::diff — Возвращает разницу между двумя DateTime объектами
- DateTime::format — Возвращает дату приведенную к заданному формату
- DateTime::getLastErrors — Возвращает предупреждения и ошибки
- DateTime::getOffset — Возвращает смещение временной зоны
- DateTime::getTimestamp — Получение метки времени в стиле Unix
- DateTime::getTimezone — Возвращает временную зону, соответствующую заданному объекту DateTime
- DateTime::modify — Изменение временной метки
- DateTime::__set_state — Обработчик __set_state
- DateTime::setDate — Установка даты
- DateTime::setISODate — Установка ISO даты
- DateTime::setTime — Установка времени
- DateTime::setTimestamp — Устанавливает дату и время, основываясь на метке времени Unix
- DateTime::setTimezone — Установка временной зоны для объекта класса DateTime
- DateTime::sub — Вычитает заданное количество дней, месяцев, лет, часов, минут и секунд из времени объекта DateTime
- DateTime::__wakeup — Обработчик __wakeup
- DateTimeZone — Класс DateTimeZone
- DateTimeZone::__construct — Создает новый объект DateTimeZone
- DateTimeZone::getLocation — Возвращает информацию о местоположении для временной зоны
- DateTimeZone::getName — Возвращает имя временной зоны
- DateTimeZone::getOffset — Возвращает смещение временной зоны от GMT
- DateTimeZone::getTransitions — Возвращает все переходы для временной зоны
- DateTimeZone::listAbbreviations — Возвращает ассоциативный массив содержащий флаг перехода на летнее время, смещение и имя временной зоны
- DateTimeZone::listIdentifiers — Вовращает численно индексированный массив со всеми идентификаторами временных зон
- DateInterval — Класс DateInterval
- DateInterval::__construct — Создает новый объект DateInterval
- DateInterval::createFromDateString — Создает объект класса DateInterval, используя данные из переданной строки
- DateInterval::format — Форматирует интервал
- DatePeriod — Класс DatePeriod
- DatePeriod::__construct — Создает новый объект DatePeriod
- Функции даты и времени
- checkdate — Проверяет корректность даты по григорианскому календарю
- date_add — Псевдоним DateTime::add
- date_create_from_format — Псевдоним DateTime::createFromFormat
- date_create — Псевдоним DateTime::__construct
- date_date_set — Псевдоним DateTime::setDate
- date_default_timezone_get — Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте
- date_default_timezone_set — Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте
- date_diff — Псевдоним DateTime::diff
- date_format — Псевдоним DateTime::format
- date_get_last_errors — Псевдоним DateTime::getLastErrors
- date_interval_create_from_date_string — Псевдоним DateInterval::createFromDateString
- date_interval_format — Псевдоним DateInterval::format
- date_isodate_set — Псевдоним DateTime::setISODate
- date_modify — Псевдоним DateTime::modify
- date_offset_get — Псевдоним DateTime::getOffset
- date_parse_from_format — Получение информации о заданной в определенном формате дате
- date_parse — Возвращает ассоциативный массив с подробной информацией о заданной дате
- date_sub — Псевдоним DateTime::sub
- date_sun_info — Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек
- date_sunrise — Возвращает время рассвета для заданных дня и местоположения
- date_sunset — Возвращает время захода солнца для заданных дня и местоположения
- date_time_set — Псевдоним DateTime::setTime
- date_timestamp_get — Псевдоним DateTime::getTimestamp
- date_timestamp_set — Псевдоним DateTime::setTimestamp
- date_timezone_get — Псевдоним DateTime::getTimezone
- date_timezone_set — Псевдоним DateTime::setTimezone
- date — Форматирует вывод системной даты/времени
- getdate — Возвращает информацию о дате/времени
- gettimeofday — Возвращает текущее время
- gmdate — Форматирует дату/время по Гринвичу
- gmmktime — Возвращает метку времени Unix для времени по Гринвичу
- gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали
- idate — Преобразует локальное время/дату в целое число
- localtime — Возвращает локальное время
- microtime — Возвращает текущую метку времени Unix с микросекундами
- mktime — Возвращает метку времени Unix для заданной даты
- strftime — Форматирует текущую дату/время с учетом текущих настроек локали
- strptime — Разбирает строку даты/времени сгенерированную функцией strftime
- strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
- time — Возвращает текущую метку времени Unix
- timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations
- timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers
- timezone_location_get — Псевдоним DateTimeZone::getLocation
- timezone_name_from_abbr — Возвращает временную зону в соответствии с аббревиатурой
- timezone_name_get — Псевдоним DateTimeZone::getName
- timezone_offset_get — Псевдоним DateTimeZone::getOffset
- timezone_open — Псевдоним DateTimeZone::__construct
- timezone_transitions_get — Псевдоним DateTimeZone::getTransitions
- timezone_version_get — Получение номера версии базы данных временных зон
- Допустимые форматы Даты/Времени
- Список поддерживаемых временных зон
rjstatic
20-Mar-2011 10:44
Moo0z0r
21-Jun-2010 11:58
I think it's important to mention with the DateTime class that if you're trying to create a system that should store UNIX timestamps in UTC/GMT, and then convert them to a desired custom time-zone when they need to be displayed, using the following code is a good idea:
<?php
date_default_timezone_set('UTC');
?>
Even if you use something like:
<?php
$date->setTimezone( new DateTimeZone('UTC') );
?>
... before you store the value, it doesn't seem to work because PHP is already trying to convert it to the default timezone.
kapoor_rajiv at hotmail dot com
12-Oct-2009 04:59
We can also get the submitted datetime (e.g. 2009-11-06 07:03:41) using the following:
<?php
$DateOfRequest = date("Y-m-d H:i:s", strtotime($_REQUEST["DateOfRequest"]));
?>
Or another good example of getting DateTime:
<?php
$DateOfRequest = date("Y-m-d H:i:s", mktime($_REQUEST["Hour"],$_REQUEST["Min"],$_REQUEST
["Sec"],$_REQUEST["Month"],$_REQUEST["Day"],$_REQUEST["Year"]));
?>
zoe at monkeehouse dot com
24-Oct-2008 03:52
Should you want to convert between HH:MM:SS and plain seconds like in MySQL, these functions should do the trick:
<?php
function time_to_sec($time) {
$hours = substr($time, 0, -6);
$minutes = substr($time, -5, 2);
$seconds = substr($time, -2);
return $hours * 3600 + $minutes * 60 + $seconds;
}
function sec_to_time($seconds) {
$hours = floor($seconds / 3600);
$minutes = floor($seconds % 3600 / 60);
$seconds = $seconds % 60;
return sprintf("%d:%02d:%02d", $hours, $minutes, $seconds);
}
?>
