14- PHP ( Date )

0 commentaires
Calcul de date - time :
En php, on décompte le temps de manière un peu particulière, c'est le nombre de secondes découlées depuis le 1er Janvier 1970.

Ce temps est souvent appellé aussi "temps UNIX" !
Fonction time() :
int time (void)

La fonction time() retourne le nombre de secondes écoulées depuis le 1er Janvier 1970. elle est très souvent utilisée lors des manipulations de dates.

<?php
echo "Il s'est écoulé ". time() . " secondes depuis le 1er Janvier 1970";
?>

Convertion de date - mktime :
Pour convertir une date quelconque en nombre de secondes depuis le 1er Janvier 1970, nous avons la fonction mktime dans laquelle on précise, l'heure, la minute, la seconde, le mois, le jour, l'année.

Fonction mktime() :
int mktime (int heure, int minute, int seconde, int mois, int jour, int année,)

N.B: L'ordre des paramètres est à l'américaine mois,jour,année et non jour,mois,année.
Exemple comment de secondes se sont écoulées depuis le 1 janvier 2000

<?php
echo "1 janvier 2000, c'était il y a ". mktime(0,0,0,1,1,2000) . " secondes ";
?>

Contrôler de date - checkdate
      Pour contrôler la validité d'une date issue, par exemple d'un formulaire, vous pouvez avoir recours à la fonction checkdate().

Fonction checkdate() :

int checkdate (int mois, int jour, int année)
La fonction checkdate retourne True (1) si la date est valide (année entre 0 et 32767, mois entre 1 et 12…), et la valeur False (0) sinon.

N.B: L'ordre des paramètres est à l'américaine mois,jour,année et non jour,mois,année.



avec un script php de la forme:

<?
if (checkdate($mois,$jour,$annee)) {
echo "La date $jour - $mois - $annee existe bien";
} else {
echo "La date $jour - $mois - $annee n'est pas valide";
}

?>

La fonction getdate :

Fonction getdate() :

array getdate (int date):
La fonction renvoit un tableau associatif contenant les informations de date et heure de la variable date avec les champs suivants :
• "seconds secondes
• "minutes" minutes
• "hours" heures
• "mday" jour du mois
• "wday" jour semaine, numérique. 0: dimanche jusqu'à 6: samedi
• "mon" mois, numérique
• "year" année, numérique
• "yday" jour de l'année, numérique; i.e. "299"
• "weekday" jour de la semaine, texte complet (en anglais); i.e. "Friday"
• "month" mois, texte complet (en anglais); i.e. "January"

Exemple avec getdate():
<?php
$aujourdhui = getdate(time()); // $aujourdhui est un tableau associatif
$mois = $aujourdhui['month']; // dont on prends ici l'élément [month]…
$mjour = $aujourdhui['mday'];
$annee = $aujourdhui['year'];
echo "$mjour $mois $annee";
?>

Affichage et formatage d'une date strftime():
Pour afficher une date, vous pouvez utiliser la fonction strftime
Fonction strftime() :
string getdate (string format, int date)
avec pour paramètre une chaîne de caractère format indiquant la manière sous laquelle vous voulez représenter la date.
Ce format est donné par une chaîne de caractères comportant quelques caractères précédés d'un signe % ayant une signification particulière (d pour jour, m pour mois, y pour année, etc...) et des caractères choisis librement (ici, le slash, l'espace, les 2 points).

<?
echo "Affichage au format jour/mois/annee heure:minute:seconde ";
strftime("%d/%m/%y %H:%M:%S") . "<br>";

?>

         Par défaut la fonction strftime() formate la date et heure courante mais vous pouvez spécifier un second paramètre pour afficher une date calculée. Ce paramètre est exprimé en secondes.
echo "Dans 15 jours nous serons le " .

strftime("%d/%m/%y",time()+15*24*3600);

ou

echo "Le 15 Aout 2001 tombe un " .
strftime("%A",mktime(0,0,0,8,15,2001)) ;
on peut alors stocker ces valeurs simplement dans des variables tout
simpement
// la variable $an contient la valeur 01 si nous sommes en 2001
$an=strftime("%y");

ou

// la variable $mois contient la valeur Saturday si nous sommes samedi

$mois=strftime("%B");

Formatage en français setlocale():
    Si vous voulez afficher le jour ou le mois en toutes lettres, vous risquez de l'avoir en anglais. Si ce n'est pas ce que vous désirez, il convient d'utiliser la commande setlocale afin de préciser la langue d'affichage.

<?
setlocale("LC_TIME","en_US");
echo "En Anglais " . strftime("%A %d %B %Y") . "<br>";
setlocale("LC_TIME","fr_FR");
echo "En Français " . strftime("%A %d %B %Y") . "<br>";
?>

En Anglais Friday 21 September 2001
   En Français vendredi 21 septembre 2001

     La langue est définie par 2 lettres (généralement) suivi d'un underscore puis 2 autres lettres. Les premières lettres indiquant la langue proprement dit et les 2 suivantes le pays (on peut ainsi distinguer fr_FR de fr_CA).
Affichage et formatage d'une date : date()

    La fonction date() a à peu près le même rôle que strftime mais les caractères "clés" sont différents. date() retourne une date sous forme d'une chaîne, au format donné par la chaîne format, sans possibilité de donner des formats nationaux (locaux).



Quelques exemples :

<?php
/* Aujourd'hui, le 12 Mars 2001, 10:16:18 pm */
$aujourdhui = date("F j, Y, g:i a"); // March 12, 2001, 10:16 pm
$aujourdhui = date("m.d.y"); // 03.12.01
$aujourdhui = date("j, m, Y"); // 12, 3, 2001
$aujourdhui = date("Ymd"); // 20010312
$aujourdhui = date("H:i:s"); // 10:16:18

// notation française
$aujourdhui = date("d/m/y"); // 12/03/01
$aujourdhui = date("d/m/Y"); // 12/03/2001

?>


0 commentaires:

Enregistrer un commentaire

Copyright 2013 © 2 Rattrapage