193 lines
5.2 KiB
PHP
193 lines
5.2 KiB
PHP
<?php
|
|
//fonction qui affiche le mois selon la date
|
|
//param: date, langue de sortie
|
|
//retourne: mois en texte
|
|
function fxMois($strDate, $strLangue)
|
|
{
|
|
$intMois = date('n', strtotime($strDate));
|
|
|
|
return fxGetMois($intMois, $strLangue);
|
|
}
|
|
|
|
//fonction qui affiche le mois selon la valeur numérique
|
|
//param: valeur numérique, langue de sortie
|
|
//retourne: mois en texte
|
|
function fxGetMois($intMois, $strLangue)
|
|
{
|
|
$tabMois = array(1 => array("en" => "January", "fr" => "Janvier"), 2 => array("en" => "February", "fr" => "Février"), 3 => array("en" => "March", "fr" => "Mars"), 4 => array("en" => "April", "fr" => "Avril"), 5 => array("en" => "May", "fr" => "Mai"), 6 => array("en" => "June", "fr" => "Juin"), 7 => array("en" => "July", "fr" => "Juillet"), 8 => array("en" => "August", "fr" => "Août"), 9 => array("en" => "September", "fr" => "Septembre"), 10 => array("en" => "October", "fr" => "Octobre"), 11 => array("en" => "November", "fr" => "Novembre"), 12 => array("en" => "December", "fr" => "Décembre"));
|
|
|
|
return $tabMois[$intMois][$strLangue];
|
|
}
|
|
|
|
//fonction qui affiche la journée de la semaine selon une date
|
|
//param: date, langue de sortie
|
|
//retourne: journée en texte
|
|
function fxJournee($strDate, $strLangue)
|
|
{
|
|
$intJournee = date('w', strtotime($strDate));
|
|
|
|
return fxGetJournee($intJournee, $strLangue);
|
|
}
|
|
|
|
//fonction qui retourne le nom de la journée de la semaine selon la valeur numérique
|
|
//param: valeur numérique , langue de sortie
|
|
//retourne: journée en texte
|
|
function fxGetJournee($intJournee, $strLangue)
|
|
{
|
|
$tabJournees = array(0 => array("en" => "Sunday", "fr" => "Dimanche"), 1 => array("en" => "Monday", "fr" => "Lundi"), 2 => array("en" => "Tuesday", "fr" => "Mardi"), 3 => array("en" => "Wednesday", "fr" => "Mercredi"), 4 => array("en" => "Thursday", "fr" => "Jeudi"), 5 => array("en" => "Friday", "fr" => "Vendredi"), 6 => array("en" => "Saturday", "fr" => "Samedi"));
|
|
|
|
return $tabJournees[$intJournee][$strLangue];
|
|
}
|
|
|
|
//fonction pour affiche la date complète
|
|
//param: date, langue de sortie
|
|
//retourne: la date formattée
|
|
function fxShowDate($date, $langue)
|
|
{
|
|
$j = substr($date, 8, 2);
|
|
$m = substr($date, 5, 2);
|
|
$a = substr($date, 0, 4);
|
|
|
|
if ($a < 1970 || $a > 2038)
|
|
$date = date('Y-m-d', mktime(0, 0, 0, $m, $j, 2000));
|
|
|
|
$mois = fxMois($date, $langue);
|
|
|
|
if ($langue == "fr")
|
|
{
|
|
$jour = date('j', strtotime($date));
|
|
if ($jour == 1)
|
|
$jour .= '<sup>er</sup>';
|
|
}
|
|
else
|
|
{
|
|
$jour = date('j', strtotime($date));
|
|
$term = date('S', strtotime($date));
|
|
$jour = $jour . "<sup>$term</sup>";
|
|
}
|
|
|
|
$annee = date('Y', strtotime($date));
|
|
|
|
if ($langue == "fr")
|
|
return $jour . ' ' . $mois . ', ' . $a;
|
|
else
|
|
return $mois . ' ' . $jour . ', ' . $a;
|
|
}
|
|
|
|
//fonction pour afficher l'intervalle de deux dates
|
|
//param: date debut, date fin, langue de sortie
|
|
//retourne: la chaîne de dates formattée
|
|
function fxShowDateInterval($date_debut, $date_fin, $langue)
|
|
{
|
|
if ($date_debut == $date_fin)
|
|
return fxShowDate($date_debut, $langue);
|
|
else
|
|
{
|
|
$jour_debut = fxJournee($date_debut, $langue);
|
|
$jour_fin = fxJournee($date_fin, $langue);
|
|
|
|
if (date('m', strtotime($date_debut)) == date('m', strtotime($date_fin)))
|
|
{
|
|
if ($langue == 'en')
|
|
$str_date_debut = fxShowDate($date_debut, $langue);
|
|
else
|
|
{
|
|
$str_date_debut = date('j', strtotime($date_debut));
|
|
|
|
if ($str_date_debut == 1)
|
|
$str_date_debut .= '<sup>er</sup>';
|
|
}
|
|
}
|
|
else
|
|
$str_date_debut = fxShowDate($date_debut, $langue);
|
|
|
|
$str_date_fin = fxShowDate($date_fin, $langue);
|
|
|
|
if ($langue == 'fr')
|
|
return 'du ' . $str_date_debut . ' au ' . $str_date_fin;
|
|
else
|
|
return 'from ' . $str_date_debut . ' to ' . $str_date_fin;
|
|
}
|
|
}
|
|
|
|
//fonction pour récupérer la date actuelle
|
|
//retourne la date avec le bon fuseau horaire
|
|
function fxGetDate()
|
|
{
|
|
return date('Y-m-d');
|
|
}
|
|
|
|
//fonction pour récupérer l'heure actuelle
|
|
//retourne l'heure avec le bon fuseau horaire
|
|
function fxGetTime()
|
|
{
|
|
return date('H:i:s');
|
|
}
|
|
|
|
//fonction pour afficher l'heure
|
|
//param: heure à convertir
|
|
//retourne l'heure avec le bon fuseau horaire
|
|
function fxShowTime($heure)
|
|
{
|
|
return date('H:i:s', strtotime($heure));
|
|
}
|
|
|
|
//fonction pour afficher la date et l'heure actuelle
|
|
//retourne l'heure avec le bon fuseau horaire
|
|
function fxGetDateTime()
|
|
{
|
|
return fxGetDate() . ' ' . fxGetTime();
|
|
}
|
|
|
|
// fonction pour trouver l'âge de qqc ou qqn
|
|
// param: date, langue de sortie
|
|
// retourne: l'âge avec ans/years old
|
|
function fxGetAge($date, $langue = '')
|
|
{
|
|
// décomposer la date de naissance
|
|
$dj = substr($date, 8, 2);
|
|
$dm = substr($date, 5, 2);
|
|
$da = substr($date, 0, 4);
|
|
|
|
// décomposer la date du jour
|
|
$today = fxGetDate();
|
|
$tj = substr($today, 8, 2);
|
|
$tm = substr($today, 5, 2);
|
|
$ta = substr($today, 0, 4);
|
|
|
|
$age = $ta - $da;
|
|
|
|
// si le mois de naissance est plus grand que le mois du jour, soustraire 1 an
|
|
if ($dm > $tm)
|
|
$age -= 1;
|
|
else
|
|
{
|
|
// si le mois de naissance est égal au mois du jour, mais que le jour est plus grand, soustraire 1 an
|
|
if ($dj > $tj)
|
|
$age -= 1;
|
|
}
|
|
|
|
// retourner l'âge avec le ans/years old
|
|
if ($langue != '')
|
|
{
|
|
if ($langue == 'fr')
|
|
{
|
|
if ($age > 1)
|
|
$str_age = $age . ' ans';
|
|
else
|
|
$str_age = $age . ' an';
|
|
}
|
|
else
|
|
{
|
|
if ($age > 1)
|
|
$str_age = $age . ' years old';
|
|
else
|
|
$str_age = $age . ' year old';
|
|
}
|
|
}
|
|
else
|
|
$str_age = $age;
|
|
|
|
return $str_age;
|
|
}
|
|
?>
|