note 113675 added to function.date
| From: | nastysclaw | Date: | Thu, 14 Nov 2013 16:19:19 +0000 |
| Subject: | note 113675 added to function.date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-197520@lists.php.net to get a copy of this message | ||
Pour convertir une date US en FR ou inversement
Exemple d'utilisation:
ConversionDate ('2013-11-14', 'FR') = 14/11/2013
ConversionDate ('14/11/2013', 'US') = 2013-11-14
Code:
// Conversion de la date selon la source
function ConversionDate ($date, $source) {
// Si la date comporte bien 10 caractères, alors
if (strlen ($date) == 10) {
// Si la date est séparée par des tiret, alors
if (strpos ($date, '-') !== FALSE) {
// On découpe la date
$explode_date = explode ('-', $date);
}
// Si la date est séparée par des slash, alors
elseif (strpos ($date, '/') !== FALSE) {
// On découpe la date
$explode_date = explode ('/', $date);
}
// Si la date est séparée par des point, alors
elseif (strpos ($date, '.') !== FALSE) {
// On découpe la date
$explode_date = explode ('.', $date);
}
// Si la date est séparée par des virgule, alors
elseif (strpos ($date, ',') !== FALSE) {
// On découpe la date
$explode_date = explode (',', $date);
}
// Si la date est séparée par des point-virgule, alors
elseif (strpos ($date, ';') !== FALSE) {
// On découpe la date
$explode_date = explode (';', $date);
}
// Si la date est séparée par des espace, alors
elseif (strpos ($date, ' ') !== FALSE) {
// On découpe la date
$explode_date = explode (' ', $date);
}
// Si la conversion est impossible, alors
else {
// On retourne la date tel quel
return $date;
}
// Si la découpe s'est bien effecutée, alors
if (!empty ($explode_date[0])) {
// Si la 1er découpe est le jour, alors
if (strlen ($explode_date[0]) == 2) {
// Si le format est FR, alors
if ($source == 'FR') {
// On affiche la date au format JJ/MM/AAAA
return $explode_date[0].'/'.$explode_date[1].'/'.$explode_date[2];
}
// Si le format est US, alors
elseif ($source == 'US') {
// On affiche la date au format AAAA-MM-JJ
return $explode_date[2].'-'.$explode_date[1].'-'.$explode_date[0];
}
// Si la source n'est pas précisée, alors
else {
// On retourne la date tel quel
return $date;
}
}
// Si la 1er découpe est l'année, alors
if (strlen ($explode_date[0]) == 4) {
// Si le format est FR, alors
if ($source == 'FR') {
// On affiche la date au format JJ/MM/AAAA
return $explode_date[2].'/'.$explode_date[1].'/'.$explode_date[0];
}
// Si le format est US, alors
elseif ($source == 'US') {
// On affiche la date au format AAAA-MM-JJ
return $explode_date[0].'-'.$explode_date[1].'-'.$explode_date[2];
}
// Si la source n'est pas précisée, alors
else {
// On retourne la date tel quel
return $date;
}
}
// Si la 1er découpe corresponds à rien, alors
if (strlen ($explode_date[0]) != 2 && strlen ($explode_date[0]) != 4) {
// On retourne la date tel quel
return $date;
}
}
// Si la découpe est impossible, alors
else {
// On retourne la date tel quel
return $date;
}
}
// Si la date ne comporte pas les 10 caractères, alors
else {
// On retourne la date tel quel
return $date;
}
}
----
Server IP: 72.52.91.14
Probable Submitter: 72.52.91.14
----
Manual Page -- http://php.net/manual/en/function.date.php
Edit -- https://master.php.net/note/edit/113675
Del: integrated -- https://master.php.net/note/delete/113675/integrated
Del: useless -- https://master.php.net/note/delete/113675/useless
Del: bad code -- https://master.php.net/note/delete/113675/bad+code
Del: spam -- https://master.php.net/note/delete/113675/spam
Del: non-english -- https://master.php.net/note/delete/113675/non-english
Del: in docs -- https://master.php.net/note/delete/113675/in+docs
Del: other reasons-- https://master.php.net/note/delete/113675
Reject -- https://master.php.net/note/reject/113675
Search -- https://master.php.net/manage/user-notes.php