forked from Wavyzz/dolibarr
Fix: La fonction dolibarr_print_date accepte indiffremment une date au format timestamp tout comme au format YYYY-MM-DD.
This commit is contained in:
@@ -165,14 +165,33 @@ function dolibarr_print_ca($ca)
|
||||
|
||||
/*!
|
||||
\brief formattage de la date
|
||||
\param time date
|
||||
\param format format de la date "%d %b %Y"
|
||||
\param time date timestamp ou au format YYYY-MM-DD
|
||||
\param format format de la date "%d %b %Y"
|
||||
\remarks retourne la date format<61>e
|
||||
*/
|
||||
|
||||
function dolibarr_print_date($time,$format="%d %b %Y")
|
||||
{
|
||||
return strftime($format,$time);
|
||||
# Analyse de la date
|
||||
if (eregi('^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?',$time,$reg)) {
|
||||
// Date au format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS'
|
||||
$syear = $reg[1];
|
||||
$smonth = $reg[2];
|
||||
$sday = $reg[3];
|
||||
$shour = $reg[4];
|
||||
$smin = $reg[5];
|
||||
if ($syear < 1970 && $_SERVER["WINDIR"]) {
|
||||
# Le formatage ne peut etre appliqu<71> car windows ne supporte pas la fonction
|
||||
# mktime si l'ann<6E>e est inf<6E>rieur <20> 1970. On retourne un format fixe
|
||||
return "$syear-$smonth-$sday";
|
||||
} else {
|
||||
return strftime($format,mktime($shour,$smin,0,$smonth,$sday,$syear));
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Date est un timestamps
|
||||
return strftime($format,$time);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user