Un composant de manipulation de date
Cette documentation est disponible en english | français
Version : 0.5
Author : mailto:west_REMOVEleo@yahoo.com?subject=classDate
Licence : GPL
Updated : Nov 2001
Telecharger date-0.5.zip
Je vous conseille de dezipper Date/date.php dans un repertoire dédié à vos librairies PHP partagées,
par exemple /usr/lib/php ou /home/www/lib. C'est notamment obligatoire si vous
utilisez d'autres composants qui utilisent celui-ci.
Instancie une date a partir d'un timestamp Unix.
$date = new Date();
Le parametre optionnel timestamp initialise l'objet. Il est exprimé en nombres de secondes écoulé depuis le 1/1/1970.
Par defaut, l'objet est initialisé au timestamp courant. | Voir fonctions PHP code |
Construit un objet date a partir d'une chaine au format iso-8901.
$date = Date::fromDatetime( "2001-08-01T12:30:59" )
datetime est une chaine au format ISO comportant les parties date et heure
Retour un objet Date si ok, NULL si format non reconnu.
Le format ISO est YYYY MM DD "T" hh mm ss [TZ]
Le code de timezone optionnel TZ est ignoré dans cette version.
Accepte plusieurs variantes avec ou sans séparateur:
Pour tous les setters, les débordements sont gérés automatiquement, par exemple si on effectue Date[01/01/2000].setDay(33), on obtiendra Date[02/02/2000]
Definit la date a partir d'un timestamp Unix.
Positionne le champ heures.
Positionne le champ minutes.
Positionne le champ secondes.
Positionne le champ année
Positionne le champ mois
Positionne le champ jour du mois
Positionne le jour de la semaine. wday est un nombre compris entre 0 (dimanche) et 6 (samedi).
Si setDay() et setWeekday() sont invoqués sur un meme objet, c'est le dernier appel qui "a raison".
Renvoie le timestamp Unix ( nombre de secondes écoulées depuis le 1/1/1970 )
Renvoie le champ année
Renvoie le champ mois
Renvoie le champ jour du mois sous la forme d'un entier compris entre 1 et 31.
Renvoie le jour de la semaine sous la forme d'un entier compris entre 0 et 6.
Renvoie le jour de l'année (1-366)
Renvoient respectivement les champs heures, minutes, secondes.
Renvoie le nombre de secondes écoulées depuis le debut de la journée à 00:00:00
Renvoie le nombre de jours total du mois.
Ajoutent respectivement n années, mois, jours, heures, minutes, secondes.
n peut etre négatif pour retrancher ce nombre.
Les débordements sont gérés automatiquement: Si on ajoute 2 jours a Date[ 30/12/2000 ], on obtient Date[ 01/01/2001 ]
Compare cette date avec otherDate.
Retour un nombre de secondes representant la différence thisDate - otherDate
if( $date1->compareTo( $date2 ) == 0 ) echo "date1 and date2 are equals";
Renvoie le nombre de jour compris entre cette date et la date fournie en parametre.
Renvoie un nombre negatif si la date otherdate est antérieure.
otherdate un objet Date
Cette méthode renvoie la date timestamp formattée selon le format indiqué
Methode statique, conçue pour formatter plusieurs dates sans devoir instancier un objet Date a chaque fois:
$today = Date::Format( "%a %d %m %Y", time() );
$yesterday = Date::Format( "%a %d %m %Y", time() - SEC_DAY );
Renvoie la date formattée selon le format donné en paramètres
$heure = $date->toString( "%H heures %M minutes %S secondes" );
voir § Constantes pour des formats prédéfinis
Section TODO
Les constantes globales suivantes sont définies,
à utiliser par exemple pour les methodes setWeekDay (WDAY_*) , toString (FMT_*).
Symbole | Description | Valeur |
WDAY_SUNDAY | dimanche | 0 |
WDAY_MONDAY | lundi | 1 |
WDAY_TUESDAY | mardi | 2 |
WDAY_WENESDAY | mercredi | 3 |
WDAY_THURSDAY | jeudi | 4 |
WDAY_FRIDAY | vendredi | 5 |
WDAY_SATURDAY | samedi | 6 |
SEC_MINUTE | nombre de secondes dans 1 minute | 60 |
SEC_HOUR | nombre de secondes dans 1 heure | 3600 |
SEC_DAY | nombre de secondes dans 1 jour | 86400 |
FMT_DATEISO | format d'une date iso8601 | "%Y%m%dT%H%M%S" |
FMT_DATELDAP | format d'une date LDAP | "%Y%m%d%H%M%SZ" |
FMT_DATERFC822 | format d'une date RFC 822 (Mime) | "%a, %d %b %Y %H:%M:%S" |
FMT_DATEFR | date au format français (jj/mm/aaaa) | "%d/%m/%Y" |
FMT_DATEEN | date au format US (mm/jj/aaaa) | "%m/%d/%Y" |
FMT_TIME | heure au format hh:mm, sans les secondes | "%H:%M" |