API des dates

Un article de OviWiki.


Gestion des dates et heures dans Ovidentia

Sommaire

Fonctions

bab_mktime()

Retourne un time stamp à partir d'une date MySQL ( ISO DATE ou ISO DATETIME par exemple : '2006-03-10 17:37:02' ou '2006-03-10')

function bab_mktime($time)
  • $time :
    Date au format de ISO DATETIME de MySQL ( par ex: 2006-03-10 17:37:02 )

bab_formatDate()

Retourne une chaîne contenant la date/heure formatée selon le format spécifié

function bab_formatDate($format, $time)
  • $format :
    Format désiré. Par exemple '%'
     %d Une représentation courte du jour ( sur trois caractères )
     %D Jour de la semaine complet par exemple Lundi
     %j Jour du mois ( padding avec zéros )
     %m Une représentation courte du mois ( sur trois caractères )
     %M Mois complet par exemple Avril
     %n Numéro du moi de l'année ( padding avec zéros )
     %Y Représentation numérique de l'année, 4 caractères
     %y Année sur deux carcatères
     %H Heure au format 24 heures ( padding avec zéros )
     %i Minutes ( padding avec zéros )
     %S Format de la date courte préférée de l'utilisateur
     %L Format de la date longue préférée de l'utilisateur
     %T Format du temps préféré de l'utilisateur
  • $time :
    Time stamp unix

bab_time()

Retourne une chaîne contenant l'heure formatée selon les préférences de l'utilisateur

function bab_time($time)
  • $time :
    Time stamp unix

bab_longDate()

Retourne une chaîne contenant la date/heure dans un format long

function bab_longDate($time, $hour=true)
  • $time :
    Time stamp unix
function bab_longDate($time, $hour=true)
  • $hour :
    Si true la fonctionne retourne l'heure aussi sinon uniquement la date

bab_shortDate()

Retourne une chaîne contenant la date/heure dans un format court

function bab_shortDate($time, $hour=true)
  • $time :
    Time stamp unix
function bab_longDate($time, $hour=true)
  • $hour :
    Si true la fonctionne retourne l'heure aussi sinon uniquement la date


La Classe BAB_DateTime

Création de l'objet

L'objet BAB_DateTime peut être crée à partir de plusieurs formats

Le constructeur

les paramètres du constructeur sont :

  • $iYear
  • $iMonth
  • $iDay
  • $iHours (optionnel)
  • $iMinutes (optionnel)
  • $iSeconds (optionnel)


fromTimeStamp($iTimeStamp)

fromTimeStamp est une méthode statique, le paramètre est un nombre entier

exemple :

$date = BAB_DateTime::fromTimeStamp(time());


fromIsoDateTime($sIsoDateTime)

fromIsoDateTime est une méthode statique, le paramètre est une date au format ISO date ou ISO datetime

exemple :

$date = BAB_DateTime::fromIsoDateTime('2006-12-25 17:35:17');


now()

Créé un objet date initialisé au moment même de l'appel de la méthode now(). C'est une méthode statique.


fromUserInput($sDate)

Créer un objet date à partir d'une date provenant d'une saisie utilisateur dans un format français.

Le format du paramètre d'entrée est : JJ-MM-AAAA

Les formats de sortie

getIsoDateTime()

retourne une date au format ISO datetime (chaine de caractères)

exemple : 2006-12-25 17:35:17

getIsoDate()

retourne une date au format ISO date (chaine de caractères)

exemple : 2006-12-25

getYear()

Retourne un nombre entier

getMonth()

Retourne un nombre entier

getDayOfMonth()

Retourne le nombre de jour dans le mois. C'est un nombre entier de 1 à 31

getDayOfYear()

Retourne le jour dans l'année. C'est un nombre entier de 1 à 365

getDayOfWeek()

Retourne le jour de la semaine. C'est un nombre entier de 0 à 6

getHour()

Retourne un nombre entier

getMinute()

Retourne un nombre entier

getSecond()

Retourne un nombre entier

getDayTime()

Retourne le nombre de seconde écoulé depuis le début du jour.

getTimeStamp()

Retourne le timestamp UNIX


Les opérations

getWeekOfYear()

Cette méthode permet de récupérer le numéro de semaine dans l'année

Les paramètres sont :

  • $day : Jour
  • $month : Mois
  • $year : Année

Les paramètres sont optionnels, si les paramètres ne sont pas passés à la méthode, le jour le mois et l'année au moment de l'appel serons utilisés.

Cette méthode est statique.

add() et less()

Effectue un décalage sur la date de l'objet

Les paramètres sont :

  • $iNbUnits : Le nombre d'unité à ajouter
  • $iUnitType : Le type d'unité (par défaut BAB_DATETIME_DAY)

Les types possibles sont :

  • BAB_DATETIME_YEAR : Années
  • BAB_DATETIME_MONTH : Mois
  • BAB_DATETIME_DAY : Jours
  • BAB_DATETIME_HOUR : Heures
  • BAB_DATETIME_MINUTE : Minutes
  • BAB_DATETIME_SECOND : Secondes


compare($d1, $d2)

Comparer deux objets BAB_DateTime, la méthode est statique.

La valeur de retour :

  • 0 : Les dates sont égales
  • -1 : Si $d1 est avant $d2
  • 1 : Si $d2 est avant $d1

dateDiff()

Calculer la différence entre deux dates. Cette méthode est statique.

Les paramètres sont :

  • $day1
  • $month1
  • $year1
  • $day2
  • $month2
  • $year2

La méthode retourne le nombre de jours entre les deux dates. En cas d'erreur, la méthode retourne -1


dateDiffIso($date1, $date2)

Calculer la différence entre deux dates au format ISO. Cette méthode est statique.

isLeapYear($year)

Tester si une année est bissextile.


isValidDate($day, $month, $year)

Tester si une date est valide

La méthode est statique et retourne un booléen


periodIntersect($p1_begin, $p1_end, $p2_begin, $p2_end)

Les 4 paramètres de la méthode sont des dates au format ISO date ou ISO datetime. Attention, toutes les dates doivent être au même format (soit date, soit datetime).

La méthode retourne un tableau avec deux clefs :

  • begin
  • end

Les valeur des deux clefs sont des dates au format ISO date ou datetime. Le format sera le même qu'en entrée.