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"
?>
Date et Heure
- Introduction
- Installation/Configuration
- Constantes pré-définies
- DateTime — La classe DateTime
- DateTime::add — Ajoute une durée à un objet DateTime
- DateTime::__construct — Retourne un nouvel objet DateTime
- DateTime::createFromFormat — Retourne un nouvel objet DateTime formaté
- DateTime::diff — Retourne la différence entre deux objets DateTime
- DateTime::format — Retourne la date au format demandé
- DateTime::getLastErrors — Retourne les dernières erreurs et alertes
- DateTime::getOffset — Retourne le décalage horaire
- DateTime::getTimestamp — Lit le timestamp Unix
- DateTime::getTimezone — Lit le fuseau horaire d'un objet DateTime
- DateTime::modify — Modifie le timestamp
- DateTime::__set_state — Le gestionnaire __set_state
- DateTime::setDate — Assigne la date
- DateTime::setISODate — Configure une date ISO
- DateTime::setTime — Assigne l'heure
- DateTime::setTimestamp — Assigne la date et l'heure à l'aide d'un timestamp Unix
- DateTime::setTimezone — Configure le fuseau horaire de l'objet DateTime
- DateTime::sub — Soustrait une durée à un objet DateTime
- DateTime::__wakeup — Le gestionnaire de __wakeup
- DateTimeZone — La classe DateTimeZone
- DateTimeZone::__construct — Crée un nouvel objet DateTimeZone
- DateTimeZone::getLocation — Retourne les informations géographiques d'un fuseau horaire
- DateTimeZone::getName — Retourne le nom du fuseau horaire
- DateTimeZone::getOffset — Retourne le décalage GMT d'un fuseau horaire
- DateTimeZone::getTransitions — Retourne toutes les transitions d'un fuseau horaire
- DateTimeZone::listAbbreviations — Retourne un tableau associatif, décrivant un fuseau horaire
- DateTimeZone::listIdentifiers — Retourne un tableau numérique de tous les fuseaux horaires
- DateInterval — La classe DateInterval
- DateInterval::__construct — Crée un nouvel objet DateInterval
- DateInterval::createFromDateString — Configure un objet DateInterval à partir des parties d'une chaîne
- DateInterval::format — Formate l'intervalle
- DatePeriod — La classe DatePeriod
- DatePeriod::__construct — Crée un nouvel objet DatePeriod
- Fonctions Date/Heure
- checkdate — Valide une date grégorienne
- date_add — Alias de DateTime::add
- date_create_from_format — Alias de DateTime::createFromFormat
- date_create — Alias de DateTime::__construct
- date_date_set — Alias de DateTime::setDate
- date_default_timezone_get — Récupère le décalage horaire par défaut utilisé par toutes les fonctions date/heure d'un script
- date_default_timezone_set — Définit le décalage horaire par défaut de toutes les fonctions date/heure
- 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 — Récupère les informations d'une date donnée suivant un format spécifique
- date_parse — Retourne un tableau associatif avec des informations détaillées sur une date donnée
- date_sub — Alias de DateTime::sub
- date_sun_info — Retourne un tableau avec les informations sur le lever/coucher du soleil ainsi que le début et la fin de l'aube
- date_sunrise — Retourne l'heure de lever du soleil pour un jour et un endroit donnés
- date_sunset — Retourne l'heure de coucher du soleil pour un jour et un endroit donnés
- 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 — Formate une date/heure locale
- getdate — Retourne la date/heure
- gettimeofday — Retourne l'heure actuelle
- gmdate — Formate une date/heure GMT/CUT
- gmmktime — Retourne le timestamp UNIX d'une date GMT
- gmstrftime — Formate une date/heure GMT/CUT en fonction de la configuration locale
- idate — Formate une date/heure locale en tant qu'entier
- localtime — Récupère l'heure locale
- microtime — Retourne le timestamp UNIX actuel avec les microsecondes
- mktime — Retourne le timestamp UNIX d'une date
- strftime — Formate une date/heure locale avec la configuration locale
- strptime — Analyse une date générée par strftime
- strtotime — Transforme un texte anglais en timestamp
- time — Retourne le timestamp UNIX actuel
- 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 — Retourne le nom du fuseau horaire à partir de son abréviation
- 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 — Lit la version de la timezonedb
- Formats supportés de temps et de dates
- Liste des Fuseaux Horaires Supportés
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);
}
?>
