Outils pour utilisateurs

Outils du site


tips_informatiques:programmation:php:plugin_alaxos:librairie:datetool

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tips_informatiques:programmation:php:plugin_alaxos:librairie:datetool [2010/08/24 21:47]
nico créée
tips_informatiques:programmation:php:plugin_alaxos:librairie:datetool [2010/08/24 00:00] (Version actuelle)
Ligne 1: Ligne 1:
-====== DateTool ======+====== DateTool ​class ====== 
 + 
 + 
 + 
 + 
 +Cette classe contient un ensemble de méthodes statiques permettant de manipuler des dates. 
 + 
 + 
 +===== Méthodes principales ===== 
 + 
 + 
 +**set_current_locale($locale)** 
 + 
 +>​Configure la locale PHP de l'​application et la langue de l'​application CakePHP 
 + 
 +>Une fois configurée la locale indiquée est utilisée par défaut pas plusieurs fonctions de la classe //​DateTool//​. 
 +  
 +>Pour le français et l'​anglais,​ essaie de trouver la bonne locale à utiliser, en fonction des locales configurées sur le serveur. 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +/* 
 +* -> may have set locale to '​fr_CH.UTF-8',​ '​fr_CH',​ '​fr_FR.UTF-8'​ or '​fr_FR'​ 
 +*    depending on the locale installed on the server 
 +*/ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**get_current_locale()** 
 + 
 +>​Retourne la locale actuelle 
 + 
 +<code php> 
 +DateTool :: get_current_locale();​ // '​fr_CH.UTF-8'​ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**sql_to_date($sql_date,​ $locale = null, $with_time = true)** 
 + 
 + 
 +>​Formatte une date ou un datetime //SQL// dans la locale de l'​application.  
 + 
 +>A utiliser notamment pour afficher les dates dans les vues. 
 + 
 +>//​$locale//:​  
 +>>par défaut, la locale courante de PHP, ou la locale settée précédement par //​DateTool::​set_current_locale($locale)//​ 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool :: sql_to_date('​2010-08-01'​); ​          // '​01.08.2010'​ 
 +DateTool :: sql_to_date('​2010-08-01 13:​34:​10'​); ​ // '​01.08.2010 13:​34:​10'​ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**date_to_sql($date,​ $locale = null, $with_time = true)** 
 + 
 +>Permet d'​obtenir une date //SQL// à partir d'une date formattée dans une autre locale. 
 + 
 +>A utiliser notamment avant de sauver des champs dates dont les valeurs proviennent des vues. 
 + 
 +>//​$locale//:​  
 +>>par défaut, la locale courante de PHP, ou la locale settée précédement par //​DateTool::​set_current_locale($locale)//​ 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool :: date_to_sql('​01.08.2010'​); ​          // '​2010-08-01'​ 
 +DateTool :: date_to_sql('​01.08.2010 13:​34:​10'​); ​ // '​2010-08-01 13:​34:​10'​ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**format_date_interval($dateStr,​ $separator = ' - ', $locale = null)** 
 + 
 +>​Formatte un intervalle de dates au format //SQL// dans la locale donnée 
 + 
 +>//​$locale//:​  
 +>>par défaut, la locale courante de PHP, ou la locale settée précédement par //​DateTool::​set_current_locale($locale)//​ 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool :: format_date_interval('​2010-08-01 - 2010-08-05'​); ​                 // '​01.08.2010 - 05.08.2010'​ 
 +DateTool :: format_date_interval('​2010-08-01 13:00:17 - 2010-08-05 08:​20:​00'​) // '​01.08.2010 13:00:17 - 05.08.2010 08:​20:​00'​ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**sql_to_datetime($sql_date,​ $locale = null)** 
 + 
 +>​Formatte un datetime //SQL// (//​2010-08-01 13:34:10//) dans la locale de l'​application (ex: //​01.08.2010 13:​34:​10//​).  
 + 
 +>A noter que la fonction //​sql_to_date//​ détecte automatiquement la présence d'une heure et appelle cette fonction le cas échéant. 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool :: sql_to_datetime('​2010-08-01 13:​34:​10'​); ​ // '​01.08.2010 13:​34:​10'​ 
 +DateTool :: sql_to_datetime('​2010-08-01'​); ​          // '​01.08.2010 00:​00:​00'​ 
 + 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**datetime_to_sql($date,​ $locale = null, $force_datetime = false)** 
 + 
 +>Permet d'​obtenir un datetime //SQL// à partir d'un datetime formatté dans une autre locale. 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool :: datetime_to_sql('​01.08.2010 13:​34:​10'​); ​ // '​2010-08-01 13:​34:​10'​ 
 +DateTool :: datetime_to_sql('​01.08.2010 00:​00:​00'​); ​ // '​2010-08-01 00:​00:​00'​ 
 + 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**get_current_datetime($locale = null)** 
 + 
 +>Permet d'​obtenir la date et l'​heure courante dans la locale souhaitée 
 + 
 +>//​$locale//:​  
 +>>par défaut, la locale courante de PHP, ou la locale settée précédement par //​DateTool::​set_current_locale($locale)//​ 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool :: get_current_datetime();​ // '​01.08.2010 13:​34:​10'​ 
 +</​code>​ 
 + 
 +**get_complete_time($timeStr)** 
 + 
 +>​Retourne une heure complétée avec les minutes et les secondes 
 + 
 +<code php> 
 +DateTool :: get_complete_time('​3'​); ​       // '​03:​00:​00'​ 
 +DateTool :: get_complete_time('​16:​35'​); ​   // '​16:​35:​00'​ 
 +DateTool :: get_complete_time('​16:​35:​34'​);​ // '​16:​35:​34'​ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**get_complete_datetime($timeStr)** 
 + 
 +>​Identique à //​get_complete_time($timeStr)//,​ mais pour gérer les datetimes 
 + 
 + 
 + 
 + 
 +**get_complete_year($year)** 
 + 
 +>​Retourne une date complétée 
 + 
 +<code php> 
 +DateTool :: get_complete_year(85); ​ // 1985 
 +DateTool :: get_complete_year(16); ​ // 2016 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**get_time_from_hour($hour)** 
 + 
 +>​Retourne une durée à partir d'un nombre d'​heure 
 + 
 +<code php> 
 +DateTool :: get_time_from_hour(8); ​ // '​08:​00'​ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**get_hour_as_float($time_string)** 
 + 
 +>​Retourne un nombre représentant le nombre d'​heure du string passé  
 + 
 +<code php> 
 +DateTool :: get_hour_as_float('​08:​15'​); ​ // 8.25 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**get_time_array($start_hour,​ $end_hour, $step_hour, $minimum_hour = null, $maximum_hour = null, $locale = null)** 
 + 
 +>​Retourne un tableau contenant des datetimes pouvant être utilisés par exemple dans un calendrier 
 + 
 +<code php> 
 +$hours = DateTool :: get_time_array(8,​ 10, 0.25); 
 + 
 +/* 
 +Array 
 +
 +    [0] => 08:00 
 +    [1] => 08:15 
 +    [2] => 08:30 
 +    [3] => 08:45 
 +    [4] => 09:00 
 +    [5] => 09:15 
 +    [6] => 09:30 
 +    [7] => 09:45 
 +
 +*/ 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**compare_dates($date1,​ $date2, $locale = null)** 
 + 
 +>​Retourne un caractère indiquant si la première date est plus petite, plus grande ou identique à la seconde 
 + 
 +>Les dates doivent être passées dans la locale indiquées ou la locale courante. 
 + 
 +<code php> 
 +DateTool :: set_current_locale('​fr'​);​ 
 + 
 +DateTool::​compare_dates('​01.08.2010',​ '​01.08.2010'​); ​                   // = 
 +DateTool::​compare_dates('​01.08.2010',​ '​02.08.2010'​); ​                   // < 
 +DateTool::​compare_dates('​02.08.2010',​ '​01.08.2010'​); ​                   // > 
 +DateTool::​compare_dates('​01.08.2010 14:​00:​01',​ '​01.08.2010 14:​00:​00'​); ​ // > 
 +</​code>​ 
 + 
 + 
 + 
 + 
 +**datetime_is_in_interval($start_datetime,​ $end_datetime,​ $datetime_to_check = null, $locale = '​sql'​)** 
 + 
 +>​Retourne un boolean indiquant si un datetime est compris entre deux datetimes donnés 
 + 
 +<code php> 
 +DateTool :: datetime_is_in_interval('​2010-08-01 13:​30:​00',​ '​2010-08-01 13:​50:​00',​ '​2010-08-01 13:​45:​00'​); ​ // true 
 +DateTool :: datetime_is_in_interval('​2010-08-01 13:​30:​00',​ '​2010-08-01 13:​50:​00',​ '​2010-08-01 13:​55:​00'​); ​ // false 
 + 
 +DateTool :: datetime_is_in_interval('​2010-08-01',​ '​2010-08-03',​ '​2010-08-02'​);​ // true 
 +DateTool :: datetime_is_in_interval('​2010-08-01',​ '​2010-08-02',​ '​2010-08-03'​);​ // false 
 +</​code>​ 
 + 
 + 
 + 
 + 
  
tips_informatiques/programmation/php/plugin_alaxos/librairie/datetool.1282679275.txt.gz · Dernière modification: 2010/08/24 00:00 (modification externe)