Files
ms1inscription-v5/superadm/php/inc_dates.php
2026-05-13 09:43:32 -04:00

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;
}
?>