1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| /* Renvoie la date mise en forme dans un autre format
* la date peut être au format standard (aaaa-mm-jj) ou au format français (jj/mm/aaaa)
* l'heure peut aussi être précisée sous la forme : hh:mn
* jj/mm/aaaa => aaaa-mm-jj
* aaaa-mm-jj => jj-mm-aaaa
* si la date ne correspond à aucun de ces formats, elle est renvoyée telle quelle
* si timestamp = true, le timestamp est renvoyé.
*/
function formatDate($pdate, $timestamp = null)
{
if (IsNullDate($pdate))
return null;
else {
// Extraction des informations
ereg("[0-9]{2,4}[-/][0-9]{2}[-/][0-9]{2,4}", $pdate, $date);
if (ereg("[0-9]{2}(:)[0-9]{2}", $pdate, $time)) {
list($heure, $minute) = explode(':', $time[0]);
$strTime = ' '.$time[0];
} else {
$heure = $minute = 0;
$strTime = '';
}
if (ereg("(/)", $date[0])) {
list($jour, $mois, $annee) = explode('/', $date[0]);
} else {
list($annee, $mois, $jour) = explode('-', $date[0]);
}
if ($timestamp == true) {
return mktime($heure, $minute, 0, $mois, $jour, $annee);
} else {
if (ereg("(/)", $date[0]))
return $annee.'-'.$mois.'-'.$jour.$strTime;
else
return $jour.'/'.$mois.'/'.$annee.$strTime;
}
}
}
/* Renvoie une date décalée de n jours, n mois, n années. n pouvant être positif ou négatif.
* date entrée-sortie => timestamp
*/
function decalageDate($pDate, $pJour = 0, $pMois = 0, $pAnnee = 0)
{
list($jour, $mois, $annee, $heure, $minute) = explode('/', date('d/m/Y/H/i', $pDate));
return(mktime($heure, $minute, 0, $mois + $pMois, $jour + $pJour, $annee + $pAnnee));
}
function IsNullDate($date)
{
return ($date == '0000-00-00' || $date == '' || $date == null);
} |
Partager