Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| info:myphp:calculer_un_delai_entre_deux_dates [2018/07/18 09:45] – ↷ Page déplacée de info:git:homepage:myphp:calculer_un_delai_entre_deux_dates à info:myphp:calculer_un_delai_entre_deux_dates radeff | info:myphp:calculer_un_delai_entre_deux_dates [2026/03/05 09:45] (Version actuelle) – radeff | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>datesphp}} | + | ====== PHP dates, heure, time ====== |
| + | |||
| + | <note tip>pfoah les dates c'est compliqué, mais php peut aider!</ | ||
| + | |||
| + | ===== calculer un délai entre deux dates ===== | ||
| <code php> | <code php> | ||
| <?php | <?php | ||
| Ligne 65: | Ligne 69: | ||
| </ | </ | ||
| + | ===== date-il-y-a-15-jours ===== | ||
| + | |||
| + | < | ||
| + | <? | ||
| + | /* Source: http:// | ||
| + | # // Indiquer le nombre de jours, mois, ans et le signe plus si c'est en positif. | ||
| + | |||
| + | $nb_ans=' | ||
| + | $nb_mois=' | ||
| + | $nb_jours = ' | ||
| + | echo 'il y a quinze jours on étais le : '; | ||
| + | echo date(' | ||
| + | # | ||
| + | # | ||
| + | # Et voici la fonction : | ||
| + | # | ||
| + | # // | ||
| + | # // string fonction MyGetDate([int], | ||
| + | # // | ||
| + | # // Cette fonction retourne une date " | ||
| + | # // L' | ||
| + | # // | ||
| + | # // Les arguments (dans l' | ||
| + | # // [-] année(s) -> année(s) à ajouter/ | ||
| + | # // [-] mois -> mois à ajouter/ | ||
| + | # // [-] jour(s) -> jour(s) à ajouter/ | ||
| + | # // [True] -> format MySql (2004/ | ||
| + | # // | ||
| + | # // En cas d' | ||
| + | # // Sinon une chaine contenant la date demandée | ||
| + | # // | ||
| + | function MyGetDate( $nb_ans=' | ||
| + | if( is_int($nb_ans) && is_int($nb_mois) && is_int($nb_jours)){ | ||
| + | $mysql ? $format = " | ||
| + | return date($format, | ||
| + | } | ||
| + | else{ | ||
| + | return FALSE; | ||
| + | } | ||
| + | } | ||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | ===== date-fr-easy ===== | ||
| + | |||
| + | < | ||
| + | <? | ||
| + | setlocale(LC_TIME, | ||
| + | echo "Mise à jour: ", | ||
| + | ?> | ||
| + | </ | ||
| + | ===== date-fr complet ===== | ||
| + | |||
| + | < | ||
| + | <? | ||
| + | /* | ||
| + | Auteur : Thierry MOSCATO | ||
| + | Url : http:// | ||
| + | |||
| + | Transform a php get date in a human readable format (english - french) | ||
| + | |||
| + | Modified 2007 Fred radeff, radeff.red (date anglaise) | ||
| + | |||
| + | if you want to pass another day than the current day, use get_date, eg: | ||
| + | |||
| + | $now=date(" | ||
| + | $daysago=$now-$UNIXTIME; | ||
| + | $daysago=intval($daysago/ | ||
| + | |||
| + | $lastvisit=getdate($UNIXTIME); | ||
| + | $lastvisit=list(f_datefr($lastvisit), | ||
| + | |||
| + | */ | ||
| + | |||
| + | |||
| + | | ||
| + | // Declaration du tableau des noms de jours en Francais | ||
| + | //-------- ici | ||
| + | $j_fr{0} = " | ||
| + | $j_fr{1} = " | ||
| + | $j_fr{2} = " | ||
| + | $j_fr{3} = " | ||
| + | $j_fr{4} = " | ||
| + | $j_fr{5} = " | ||
| + | $j_fr{6} = " | ||
| + | |||
| + | // Declaration du tableau des noms de jours en Francais | ||
| + | $m_fr{1} = " | ||
| + | $m_fr{2} = " | ||
| + | $m_fr{3} = " | ||
| + | $m_fr{4} = " | ||
| + | $m_fr{5} = " | ||
| + | $m_fr{6} = " | ||
| + | $m_fr{7} = " | ||
| + | $m_fr{8} = " | ||
| + | $m_fr{9} = " | ||
| + | $m_fr{10} = " | ||
| + | $m_fr{11} = " | ||
| + | $m_fr{12} = " | ||
| + | |||
| + | |||
| + | |||
| + | // Declaration du tableau des noms de jours en Anglais | ||
| + | $j_uk{1} = " | ||
| + | $j_uk{2} = " | ||
| + | $j_uk{3} = " | ||
| + | $j_uk{4} = " | ||
| + | $j_uk{5} = " | ||
| + | $j_uk{6} = " | ||
| + | $j_uk{7} = " | ||
| + | |||
| + | |||
| + | // recuperation de la date du jour | ||
| + | $aujourdhui = getdate(); | ||
| + | |||
| + | // Conversion du nom du jour en Francais | ||
| + | $jour_l=$j_fr{$aujourdhui[' | ||
| + | |||
| + | |||
| + | // | ||
| + | $jour = $aujourdhui[' | ||
| + | |||
| + | // | ||
| + | $mois = $aujourdhui[' | ||
| + | |||
| + | // Conversion du nom du mois en Francais | ||
| + | $mois_l = $m_fr{$mois} ; | ||
| + | |||
| + | // | ||
| + | $annee = $aujourdhui[' | ||
| + | |||
| + | //stockage de la date complete dans la variable $dtfr | ||
| + | $dtfr = " | ||
| + | |||
| + | //retour de cette variable | ||
| + | return $dtfr; | ||
| + | |||
| + | } | ||
| + | |||
| + | |||
| + | function e_dateen(){ | ||
| + | |||
| + | // Declaration du tableau des noms de mois en anglais | ||
| + | $m_en{1} = " | ||
| + | $m_en{2} = " | ||
| + | $m_en{3} = " | ||
| + | $m_en{4} = " | ||
| + | $m_en{5} = " | ||
| + | $m_en{6} = " | ||
| + | $m_en{7} = " | ||
| + | $m_en{8} = " | ||
| + | $m_en{9} = " | ||
| + | $m_en{10} = " | ||
| + | $m_en{11} = " | ||
| + | $m_en{12} = " | ||
| + | |||
| + | // Declaration du tableau des noms de jours en Anglais | ||
| + | $j_en{1} = " | ||
| + | $j_en{2} = " | ||
| + | $j_en{3} = " | ||
| + | $j_en{4} = " | ||
| + | $j_en{5} = " | ||
| + | $j_en{6} = " | ||
| + | $j_en{7} = " | ||
| + | |||
| + | // recuperation de la date du jour | ||
| + | $aujourdhui = getdate(); | ||
| + | |||
| + | // Conversion du nom du jour en anglais | ||
| + | $jour_l=$j_en{$aujourdhui[' | ||
| + | |||
| + | |||
| + | // | ||
| + | $jour = $aujourdhui[' | ||
| + | |||
| + | // | ||
| + | $mois = $aujourdhui[' | ||
| + | |||
| + | // Conversion du nom du mois en anglais | ||
| + | $mois_l = $m_en{$mois} ; | ||
| + | |||
| + | // | ||
| + | $annee = $aujourdhui[' | ||
| + | |||
| + | //stockage de la date complete dans la variable $dten | ||
| + | $dten = " | ||
| + | |||
| + | //retour de cette variable | ||
| + | return $dten; | ||
| + | |||
| + | } | ||
| + | |||
| + | #now call the function and print the stuff | ||
| + | echo "Voici la date en français: " .f_datefr(); | ||
| + | |||
| + | echo "< | ||
| + | echo "< | ||
| + | |||
| + | 1st - first | ||
| + | 2nd - second | ||
| + | 3rd - third | ||
| + | And all the other numbers finishing with these figures. | ||
| + | 23rd | ||
| + | 31st, etc. | ||
| + | eg March 31st, 2005 | ||
| + | </ | ||
| + | ?> | ||
| + | </ | ||
| + | ===== convertir une date mysql YYYY-MM-DD au format DD-MM-YYYY ===== | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | <?php | ||
| + | /* | ||
| + | * | ||
| + | * | ||
| + | * Avertissement : Cette librairie de fonctions PHP est distribuee avec l' | ||
| + | * qu' | ||
| + | * COMMERCIALISATION ou d' | ||
| + | * Elle est librement redistribuable tant que la presente licence, ainsi que les credits des | ||
| + | * auteurs respectifs de chaque fonctions sont laisses ensembles. | ||
| + | * En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit | ||
| + | * de l' | ||
| + | |||
| + | */ | ||
| + | |||
| + | /**** | ||
| + | * Titre : Date format MySQL en date Francaise | ||
| + | * Auteur : FreeCreator | ||
| + | * Email : freecreator59@hotmail.com | ||
| + | * Url : | ||
| + | * Description : Cette fonction permet de convertir une date au format MySQL en date Francaise. | ||
| + | |||
| + | Elle retourne la date en francais | ||
| + | ****/ | ||
| + | function datefr($date_sql){ | ||
| + | // Declaration du tableau des noms de jours en Francais | ||
| + | //-------- ici | ||
| + | | ||
| + | | ||
| + | $j_fr[Sunday] | ||
| + | $j_fr[Monday] | ||
| + | $j_fr[Tuesday] | ||
| + | $j_fr[Wednesday] | ||
| + | $j_fr[Thursday] | ||
| + | $j_fr[Friday] | ||
| + | $j_fr[Saturday] | ||
| + | | ||
| + | // Declaration du tableau des noms de jours en Francais | ||
| + | $m_fr[1] | ||
| + | $m_fr[2] | ||
| + | $m_fr[3] | ||
| + | $m_fr[4] | ||
| + | $m_fr[5] | ||
| + | $m_fr[6] | ||
| + | $m_fr[7] | ||
| + | $m_fr[8] | ||
| + | $m_fr[9] | ||
| + | $m_fr[10] = " | ||
| + | $m_fr[11] = " | ||
| + | $m_fr[12] = " | ||
| + | | ||
| + | $la_date | ||
| + | $heure_sql= explode(':', | ||
| + | $date_sql | ||
| + | | ||
| + | | ||
| + | if (substr($date_sql[1], | ||
| + | { | ||
| + | // si oui alors on supprime le 1er caractere | ||
| + | $date_sql[1] = substr($date_sql[1], | ||
| + | } | ||
| + | |||
| + | $heure = $heure_sql[0]; | ||
| + | $minutes = $heure_sql[1]; | ||
| + | $secondes = $heure_sql[2]; | ||
| + | | ||
| + | $annee = $date_sql[0]; | ||
| + | $num_mois = $date_sql[1]; | ||
| + | $nom_mois = $m_fr[$num_mois]; | ||
| + | $num_jour = $date_sql[2]; | ||
| + | $nom_jour = $j_fr[date(" | ||
| + | |||
| + | # $date = "Le $nom_jour $num_jour $nom_mois $annee"; | ||
| + | $date = " | ||
| + | $heure = " | ||
| + | | ||
| + | $date_fr= $date.' | ||
| + | | ||
| + | //retour de cette variable | ||
| + | return $date_fr; | ||
| + | } | ||
| + | |||
| + | |||
| + | ?></ | ||
| + | ===== date2unix ===== | ||
| + | |||
| + | pour convertir tout format de temps string -> format unix / EPOC | ||
| + | |||
| + | <code php> | ||
| + | <form method=" | ||
| + | <input type=text name=quand> | ||
| + | <input type=submit> | ||
| + | </ | ||
| + | <?php | ||
| + | $quand=$_GET[' | ||
| + | if($quand=="" | ||
| + | echo strtotime(" | ||
| + | } | ||
| + | echo strtotime($quand)," | ||
| + | |||
| + | ?> | ||
| + | </ | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | ===== différence entre deux heures ===== | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | <?php | ||
| + | /* | ||
| + | * | ||
| + | * | ||
| + | * Avertissement : Cette librairie de fonctions PHP est distribuee avec l' | ||
| + | * qu' | ||
| + | * COMMERCIALISATION ou d' | ||
| + | * Elle est librement redistribuable tant que la presente licence, ainsi que les credits des | ||
| + | * auteurs respectifs de chaque fonctions sont laisses ensembles. | ||
| + | * En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit | ||
| + | * de l' | ||
| + | |||
| + | */ | ||
| + | |||
| + | /**** | ||
| + | * Titre : Différence entre 2 heures | ||
| + | * Auteur : Min' | ||
| + | * Email : webmaster@pn-organisation.be | ||
| + | * Url : | ||
| + | * Description : Cette fonction sert à effectuer la différence entre 2 heures formatées hh:mm:ss et renvoie une heure formatée pareillement | ||
| + | ****/ | ||
| + | function diff_time($t1, | ||
| + | //Heures au format (hh:mm:ss) la plus grande puis le plus petite | ||
| + | |||
| + | $tab=explode(":", | ||
| + | $tab2=explode(":", | ||
| + | |||
| + | $h=$tab[0]; | ||
| + | $m=$tab[1]; | ||
| + | $s=$tab[2]; | ||
| + | $h2=$tab2[0]; | ||
| + | $m2=$tab2[1]; | ||
| + | $s2=$tab2[2]; | ||
| + | |||
| + | if ($h2>$h) { | ||
| + | $h=$h+24; | ||
| + | } | ||
| + | if ($m2>$m) { | ||
| + | $m=$m+60; | ||
| + | $h2++; | ||
| + | } | ||
| + | if ($s2>$s) { | ||
| + | $s=$s+60; | ||
| + | $m2++; | ||
| + | } | ||
| + | |||
| + | $ht=$h-$h2; | ||
| + | $mt=$m-$m2; | ||
| + | $st=$s-$s2; | ||
| + | if (strlen($ht)==1) { | ||
| + | $ht=" | ||
| + | } | ||
| + | if (strlen($mt)==1) { | ||
| + | $mt=" | ||
| + | } | ||
| + | if (strlen($st)==1) { | ||
| + | $st=" | ||
| + | } | ||
| + | return $ht.":" | ||
| + | |||
| + | } | ||
| + | |||
| + | |||
| + | ?></ | ||