Hola a todos en esta ocasión vamos a aprender cómo hacer una pequeña función que nos servirá para mostrar las fechas en distintos formatos y además hacerles traducciones al Inglés o al Español.
<?php
function now($format, $language = "es") {
if($format == 1) {
return ($language === "es") ? date("d/m/y", time()) : date("m/d/y", time());
} elseif($format == 2) {
$day = date("l");
if ($language === "es") {
if ($day == "Monday") $day = "Lunes";
if ($day == "Tuesday") $day = "Martes";
if ($day == "Wednesday") $day = "Miércoles";
if ($day == "Thursday") $day = "Jueves";
if ($day == "Friday") $day = "Viernes";
if ($day == "Saturday") $day = "Sabado";
if ($day == "Sunday") $day = "Domingo";
}
$day2 = date("d");
$month = date("F");
if ($language === "es") {
if ($month == "January") $month = "Enero";
if ($month == "February") $month = "Febrero";
if ($month == "March") $month = "Marzo";
if ($month == "April") $month = "Abril";
if ($month == "May") $month = "Mayo";
if ($month == "June") $month = "Junio";
if ($month == "July") $month = "Julio";
if ($month == "August") $month = "Agosto";
if ($month == "September") $month = "Setiembre";
if ($month == "October") $month = "Octubre";
if ($month == "November") $month = "Noviembre";
if ($month == "December") $month = "Diciembre";
}
$year = date("Y");
return ($language === "es") ? "$day, $day2 de $month de $year" : "$month $day2, $year";
} elseif($format == 3) {
return ($language === "es") ? date("d-m-Y H:i:s", time()) : date("Y-m-d H:i:s", time());
}
}
?>
Para utilizarlo simplemente podemos mandarla a llamar en de la siguiente manera:
<?php
echo now(1); //Imprime: 27/03/13
echo now(1, "en"); //Imprime: 03/27/13
echo now(2); //Imprime: Miércoles, 27 de Marzo de 2013
echo now(2, "en"); //Imprime: March 27, 2013
echo now(3); //Imprime: 27-03-2013 12:00:00
echo now(3, "en"); //Imprime: 2013-03-27 12:00:00
Espero les sea de utilidad, saludos!
Demasiados If´s, tu codigo padece de mucha complejidad ciclomatica, haces muy malas practicas, mejor hubieras guardado las fechas en un arreglo y luego lo hubieras llamado segun su indice, lo unico que lograste hacer demasiado codigo para algo tan simple