PHP
Classe DateHeure
Recherche…
getTimestamp
getTimeStemp
est une représentation unix d'un objet datetime.
$date = new DateTime();
echo $date->getTimestamp();
ceci affichera une indication entière des secondes écoulées depuis 00:00:00 UTC, jeudi 1er janvier 1970.
régler la date
setDate
définit la date dans un objet DateTime.
$date = new DateTime();
$date->setDate(2016, 7, 25);
Cet exemple définit la date du 25 juillet 2015 et produira le résultat suivant:
2016-07-25 17:52:15.819442
Ajouter ou soustraire des intervalles de date
Nous pouvons utiliser la classe DateInterval pour ajouter ou soustraire des intervalles dans un objet DateTime.
Voir l'exemple ci-dessous, où nous ajoutons un intervalle de 7 jours et imprimons un message à l'écran:
$now = new DateTime();// empty argument returns the current date
$interval = new DateInterval('P7D');//this objet represents a 7 days interval
$lastDay = $now->add($interval); //this will return a DateTime object
$formatedLastDay = $lastDay->format('Y-m-d');//this method format the DateTime object and returns a String
echo "Samara says: Seven Days. You'll be happy on $formatedLastDay.";
Cela va sortir (en cours d'exécution le 1er août 2016):
Samara dit: Sept jours. Vous serez heureux le 2016-08-08.
Nous pouvons utiliser la sous-méthode de manière similaire pour soustraire des dates
$now->sub($interval);
echo "Samara says: Seven Days. You were happy last on $formatedLastDay.";
Cela va sortir (en cours d'exécution le 1er août 2016):
Samara dit: Sept jours. Vous étiez heureux le 2016-07-25.
Créer DateTime à partir du format personnalisé
PHP est capable d'analyser un certain nombre de formats de date . Si vous souhaitez analyser un format non standard ou si vous souhaitez que votre code indique explicitement le format à utiliser, vous pouvez utiliser la méthode statique DateTime::createFromFormat
:
Style orienté objet
$format = "Y,m,d";
$time = "2009,2,26";
$date = DateTime::createFromFormat($format, $time);
Style procédural
$format = "Y,m,d";
$time = "2009,2,26";
$date = date_create_from_format($format, $time);
DateTimes d'impression
PHP 4+ fournit une méthode, un format qui convertit un objet DateTime en chaîne avec le format souhaité. Selon PHP Manual, c'est la fonction orientée objet:
public string DateTime::format ( string $format )
La fonction date () prend un paramètre - un format, qui est une chaîne
Format
Le format est une chaîne et utilise des caractères uniques pour définir le format:
- Y : représentation à quatre chiffres de l'année (ex: 2016)
- y : représentation à deux chiffres de l'année (ex: 16)
- m : mois, sous forme de nombre (01 à 12)
- M : mois, en trois lettres (janvier, février, mars, etc.)
- j : jour du mois, sans zéros en tête (1 à 31)
- D : jour de la semaine, en trois lettres (lundi, mardi, mercredi, etc.)
- h : heure (format 12 heures) (01 à 12)
- H : heure (format 24 heures) (00 à 23)
- A : soit AM ou PM
- i : minute, avec zéros non significatifs (00 à 59)
- s : seconde, avec zéros non significatifs (00 à 59)
- La liste complète se trouve ici
Usage
Ces caractères peuvent être utilisés dans diverses combinaisons pour afficher les temps dans pratiquement tous les formats. Voici quelques exemples:
$date = new DateTime('2000-05-26T13:30:20'); /* Friday, May 26, 2000 at 1:30:20 PM */
$date->format("H:i");
/* Returns 13:30 */
$date->format("H i s");
/* Returns 13 30 20 */
$date->format("h:i:s A");
/* Returns 01:30:20 PM */
$date->format("j/m/Y");
/* Returns 26/05/2000 */
$date->format("D, M j 'y - h:i A");
/* Returns Fri, May 26 '00 - 01:30 PM */
De procédure
Le format procédural est similaire:
Orienté Objet
$date->format($format)
Équivalent procédural
date_format($date, $format)
Créer une version immuable de DateTime à partir de Mutable avant PHP 5.6
Pour créer \DateTimeImmutable
en PHP 5.6+, utilisez:
\DateTimeImmutable::createFromMutable($concrete);
Avant PHP 5.6, vous pouvez utiliser:
\DateTimeImmutable::createFromFormat(\DateTime::ISO8601, $mutable->format(\DateTime::ISO8601), $mutable->getTimezone());