PHP:¿Hay manera de lograr múltiples formatos en español sobre una fecha?
De Foros del Web
No, pero con la siguiente función se puede lograr todos los formatos que necesites, yo la hice especificamente para un proyecto, pero se puede adaptar fácilmente, y de no entender como pueden preguntar en el foro de php.
Estos serían algunos ejemplos:
Código PHP:
#Example: get_date_spanish(time(), true, 'month'); # return Enero get_date_spanish(time(), true, 'month_mini'); # return ENE get_date_spanish(time(), true, 'Y'); # return 2007 get_date_spanish(time());#return 06 de septiempre, 12:31 hs
Código PHP:
#Power by nicolaspar 2007 - especific proyect function get_date_spanish( $time, $part = false, $formatDate = '' ){ #Declare n compatible arrays $month = array("","enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiempre", "diciembre");#n $month_execute = "n"; #format for array month $month_mini = array("","ENE", "FEB", "MAR", "ABR", "MAY", "JUN", "JUL", "AGO", "SEP", "DIC");#n $month_mini_execute = "n"; #format for array month $day = array("domingo","lunes","martes","miércoles","jueves","viernes","sábado"); #w $day_execute = "w"; $day_mini = array("DOM","LUN","MAR","MIE","JUE","VIE","SAB"); #w $day_mini_execute = "w"; /* Other examples: Whether it's a leap year $leapyear = array("Este año febrero tendrá 28 días"."Si, estamos en un año bisiesto, un día más para trabajar!"); #l $leapyear_execute = "L"; */ #Content array exception print "HOY", position content the name array. Duplicate value and key for optimization in comparative $print_hoy = array("month"=>"month", "month_mini"=>"month_mini"); if( $part === false ){ return date("d", $time) . " de " . $month[date("n",$time)] . ", ". date("H:i",$time) ." hs"; }elseif( $part === true ){ if( ! empty( $print_hoy[$formatDate] ) && date("d-m-Y", $time ) == date("d-m-Y") ) return "HOY"; #Exception HOY if( ! empty( ${$formatDate} ) && !empty( ${$formatDate}[date(${$formatDate.'_execute'},$time)] ) ) return ${$formatDate}[date(${$formatDate.'_execute'},$time)]; else return date($formatDate, $time); }else{ return date("d-m-Y H:i", $time); } }
--nicolaspar 06 Set 2007
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
