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"
?>
Fecha y Hora
- Introducción
- Instalación/Configuración
- Constantes predefinidas
- DateTime — La clase DateTime
- DateTime::add — Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime
- DateTime::__construct — Devuelve un nuevo objeto DateTime
- DateTime::createFromFormat — Devuelve un nuevo objeto DateTime formateado según el formato especificado
- DateTime::getLastErrors — Devuelve las advertencias y los errores
- DateTime::modify — Altera la marca de tiempo
- DateTime::__set_state — El gestor __set_state
- DateTime::setDate — Establece la fecha
- DateTime::setISODate — Establece la fecha ISO
- DateTime::setTime — Establece la hora
- DateTime::setTimestamp — Establece la fecha y la hora basadas en una fecha Unix
- DateTime::setTimezone — Establece la zona horaria para el objeto DateTime
- DateTime::sub — Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime
- DateTimeImmutable — The DateTimeImmutable class
- DateTimeImmutable::add — Adds an amount of days, months, years, hours, minutes and seconds
- DateTimeImmutable::__construct — Returns new DateTimeImmutable object
- DateTimeImmutable::createFromFormat — Returns new DateTimeImmutable object formatted according to the specified format
- DateTimeImmutable::getLastErrors — Returns the warnings and errors
- DateTimeImmutable::modify — Alters the timestamp
- DateTimeImmutable::__set_state — The __set_state handler
- DateTimeImmutable::setDate — Sets the date
- DateTimeImmutable::setISODate — Sets the ISO date
- DateTimeImmutable::setTime — Sets the time
- DateTimeImmutable::setTimestamp — Sets the date and time based on an Unix timestamp
- DateTimeImmutable::setTimezone — Sets the time zone
- DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds
- DateTimeInterface — The DateTimeInterface interface
- DateTime::diff — Returns the difference between two DateTime objects
- DateTime::format — Returns date formatted according to given format
- DateTime::getOffset — Returns the timezone offset
- DateTime::getTimestamp — Gets the Unix timestamp
- DateTime::getTimezone — Return time zone relative to given DateTime
- DateTime::__wakeup — The __wakeup handler
- DateTimeZone — La clase DateTimeZone
- DateTimeZone::__construct — Crea un nuevo objeto DateTimeZone
- DateTimeZone::getLocation — Devuelve la información de la ubicación para una zona horaria
- DateTimeZone::getName — Devuelve el nombre de la zona horaria
- DateTimeZone::getOffset — Devuelve el índice de la zona horaria de GMT
- DateTimeZone::getTransitions — Devuelve todas las transiciones para una zona horaria
- DateTimeZone::listAbbreviations — Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria
- DateTimeZone::listIdentifiers — Devuelve una matriz numérica con todos los identificadores de las zonas horarias
- DateInterval — La clase DateInterval
- DateInterval::__construct — Crea un nuevo objeto DateInterval
- DateInterval::createFromDateString — Establece un objeto DateInterval desde las partes relativas de una cadena
- DateInterval::format — Formatea el intervalo
- DatePeriod — La clase DatePeriod
- DatePeriod::__construct — Crea un nuevo objeto DatePeriod
- Funciones de Fecha/Hora
- checkdate — Validar una fecha gregoriana
- date_add — Alias de DateTime::add
- date_create_from_format — Alias de DateTime::createFromFormat
- date_create_immutable_from_format — Alias de DateTimeImmutable::createFromFormat
- date_create_immutable — Alias de DateTimeImmutable::__construct
- date_create — Alias de DateTime::__construct
- date_date_set — Alias de DateTime::setDate
- date_default_timezone_get — Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
- date_default_timezone_set — Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script
- date_diff — Alias de DateTime::diff
- date_format — Alias de DateTime::format
- date_get_last_errors — Alias de DateTime::getLastErrors
- date_interval_create_from_date_string — Alias de DateInterval::createFromDateString
- date_interval_format — Alias de DateInterval::format
- date_isodate_set — Alias de DateTime::setISODate
- date_modify — Alias de DateTime::modify
- date_offset_get — Alias de DateTime::getOffset
- date_parse_from_format — Obtiene información de una fecha dada formateada de acuerdo al formato especificado
- date_parse — Devuelve una matriz asociativa con información detallada acerca de una fecha dada
- date_sub — Alias de DateTime::sub
- date_sun_info — Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo
- date_sunrise — Devuelve la hora de la salida del sol de un día y ubicación dados
- date_sunset — Devuelve la hora de la puesta de sol de un día y ubicación dados
- date_time_set — Alias de DateTime::setTime
- date_timestamp_get — Alias de DateTime::getTimestamp
- date_timestamp_set — Alias de DateTime::setTimestamp
- date_timezone_get — Alias de DateTime::getTimezone
- date_timezone_set — Alias de DateTime::setTimezone
- date — Dar formato a la fecha/hora local
- getdate — Obtener información de la fecha/hora
- gettimeofday — Obtener la hora actual
- gmdate — Formatea una fecha/hora GMT/UTC
- gmmktime — Obtener la marca de tiempo Unix para una fecha GMT
- gmstrftime — Formatear una fecha/hora GMT/UTC según la configuración regional
- idate — Formatea una fecha/hora local como un entero
- localtime — Obtiene fecha y hora local
- microtime — Devuelve la fecha Unix actual con microsegundos
- mktime — Obtener la marca de tiempo Unix de una fecha
- strftime — Formatea una fecha/hora local según la configuración regional
- strptime — Analiza una fecha/hora generada con strftime
- strtotime — Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix
- time — Devuelve la fecha Unix actual
- timezone_abbreviations_list — Alias de DateTimeZone::listAbbreviations
- timezone_identifiers_list — Alias de DateTimeZone::listIdentifiers
- timezone_location_get — Alias de DateTimeZone::getLocation
- timezone_name_from_abbr — Devuelve el nombre de la zona horaria desde su abreviatura
- timezone_name_get — Alias de DateTimeZone::getName
- timezone_offset_get — Alias de DateTimeZone::getOffset
- timezone_open — Alias de DateTimeZone::__construct
- timezone_transitions_get — Alias de DateTimeZone::getTransitions
- timezone_version_get — Obtiene la versión de la base de datos timezonedb
- Formatos de Fecha y Hora soportados
- Listado de zonas horarias soportadas
rjstatic ¶
2 years ago
Moo0z0r ¶
2 years ago
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 ¶
3 years ago
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 ¶
4 years ago
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);
}
?>
