{"id":380,"date":"2010-02-08T15:17:26","date_gmt":"2010-02-08T14:17:26","guid":{"rendered":"https:\/\/david.xn--cantn-3ta.com\/blog\/?p=380"},"modified":"2018-03-11T10:59:32","modified_gmt":"2018-03-11T09:59:32","slug":"php-fecha-en-espanol","status":"publish","type":"post","link":"https:\/\/david.xn--cantn-3ta.com\/blog\/informatica\/php-fecha-en-espanol\/380\/","title":{"rendered":"PHP: Fecha en espa\u00f1ol"},"content":{"rendered":"<p>No siempre tenemos acceso sin restricciones a los servidores, as\u00ed que no siempre podemos configurarlos totalmente como quisi\u00e9ramos. En muchas instalaciones, por no decir, en pr\u00e1cticamente la totalidad, la funci\u00f3n <span class=\"inline-code\">date()<\/span> de <strong>PHP devuelve la fecha en ingl\u00e9s<\/strong>. Si quieres que se muestre en <strong>espa\u00f1ol<\/strong>, creo que lo m\u00e1s f\u00e1cil es <strong>convertir el valor devuelto por <span class=\"inline-code\">date()<\/span> pas\u00e1ndolo como par\u00e1metro<\/strong> a una funci\u00f3n personalizada. Vamos a verlo con un ejemplo pr\u00e1ctico:<\/p>\n<p><!--more-->Partimos de una instalaci\u00f3n <a href=\"https:\/\/www.joomlaspanish.org\/\" rel=\"noopener\" target=\"_blank\"><strong>Joomla<\/strong><\/a> que utiliza el tema <a href=\"https:\/\/demo.themza.com\/joomla15\/?joomla15-template=themza_j15_13\" rel=\"noopener\" target=\"_blank\"><strong>themza_j15_13<\/strong><\/a>. Este tema muestra la fecha actual en la cabecera. Para ello, incluye la funci\u00f3n <span class=\"inline-code\">date()<\/span> en el fichero <span class=\"inline-code\">index.php<\/span>. Vamos a editar la llamada a esta funci\u00f3n para que muestre el resultado en nuestro idioma. Pasos a seguir:<\/p>\n<ol>\n<li>\nAntes de editar el fichero, a\u00f1adimos el fichero <span class=\"inline-code\">funciones.php<\/span> en la carpeta <span class=\"inline-code\">templates\/themza_j15_13<\/span>. Este fichero lo hemos de crear nosotros con el siguiente c\u00f3digo:<\/p>\n<pre><code>\r\n&lt;?php\r\nfunction fecha_es_tr($temp) {\r\n  $posibles_valores=array(\r\n   'Sunday'=&gt;'Domingo',\r\n   'Monday'=&gt;'Lunes',\r\n   'Tuesday'=&gt;'Martes',\r\n   'Wednesday'=&gt;'Mi&eacute;rcoles',\r\n   'Thursday'=&gt;'Jueves',\r\n   'Friday'=&gt;'Viernes',\r\n   'Saturday'=&gt;'S&aacute;bado',\r\n   'Sun'=&gt;'Dom',\r\n   'Mon'=&gt;'Lun',\r\n   'Tue'=&gt;'Mar',\r\n   'Wed'=&gt;'Mi&eacute;',\r\n   'Thu'=&gt;'Jue',\r\n   'Fri'=&gt;'Vie',\r\n   'Sat'=&gt;'Sab',\r\n   'January'=&gt;'enero',\r\n   'February'=&gt;'febrero',\r\n   'March'=&gt;'marzo',\r\n   'April'=&gt;'abril',\r\n   'May'=&gt;'mayo',\r\n   'June'=&gt;'junio',\r\n   'July'=&gt;'julio',\r\n   'August'=&gt;'agosto',\r\n   'September'=&gt;'septiembre',\r\n   'October'=&gt;'octubre',\r\n   'November'=&gt;'noviembre',\r\n   'December'=&gt;'diciembre',\r\n   'Jan'=&gt;'Ene',\r\n   'Feb'=&gt;'Feb',\r\n   'Mar'=&gt;'Mar',\r\n   'Apr'=&gt;'Abr',\r\n   'May'=&gt;'May',\r\n   'Jun'=&gt;'Jun',\r\n   'Jul'=&gt;'Jul',\r\n   'Aug'=&gt;'Ago',\r\n   'Sep'=&gt;'Sep',\r\n   'Oct'=&gt;'Oct',\r\n   'Nov'=&gt;'Nov',\r\n   'Dec'=&gt;'Dic'\r\n  );\r\n  while(list($clave, $valor) = each($posibles_valores)) $temp = str_replace($clave, $valor, $temp);\r\n  return $temp;\r\n}\r\n?&gt;\r\n<\/code><\/pre>\n<\/li>\n<li>\nEditamos el fichero <span class=\"inline-code\">index.php<\/span> que hay en la carpeta <span class=\"inline-code\">templates\/themza_j15_13<\/span>. La l\u00ednea 25 dice:<\/p>\n<pre><code>\r\n&lt;div id=&quot;user3&quot;&gt;&lt;div id=&quot;pillmenu&quot;&gt;&lt;jdoc:include type=&quot;modules&quot; name=&quot;user3&quot; \/&gt;&lt;\/div&gt;&lt;?php if($this-&gt;params-&gt;get('dateDisplay')) : ?&gt;&lt;div id=&quot;date&quot;&gt;<span class=\"resaltado\">&lt;?php echo date('l dS \\of F Y'); ?&gt;<\/span>&lt;\/div&gt;&lt;?php endif; ?&gt;&lt;\/div&gt;\r\n<\/code><\/pre>\n<p>lo cambiamos por:<\/p>\n<pre><code>\r\n&lt;div id=&quot;user3&quot;&gt;&lt;div id=&quot;pillmenu&quot;&gt;&lt;jdoc:include type=&quot;modules&quot; name=&quot;user3&quot; \/&gt;&lt;\/div&gt;&lt;?php if($this-&gt;params-&gt;get('dateDisplay')) : ?&gt;&lt;div id=&quot;date&quot;&gt;<span class=\"resaltado\">&lt;?php include_once('funciones.php');?&gt;&lt;?php echo fecha_es_tr(date('l, j \\d\\e F \\d\\e Y')); ?&gt;<\/span>&lt;\/div&gt;&lt;?php endif; ?&gt;&lt;\/div&gt;\r\n<\/code><\/pre>\n<p>Lo \u00fanico que cambia es el texto resaltado, el incluido en el <span class=\"inline-code\">div \u00abdate\u00bb<\/span>. En la plantilla original se hace una llamada a la funci\u00f3n <span class=\"inline-code\">date()<\/span> de php. Lo que hemos hecho es pasar este dato como par\u00e1metro a la funci\u00f3n <span class=\"inline-code\">fecha_es_tr()<\/span> que se incluye en el fichero <span class=\"inline-code\">funciones.php<\/span> para que lo convierta, para que lo traduzca a espa\u00f1ol.<\/li>\n<\/ol>\n<p>Como seguro que ya has intuido, editando apropiadamente el fichero <span class=\"inline-code\">funciones.php<\/span>, la fecha podr\u00e1 mostrarse en el idioma que quieras.<\/p>\n<p>M\u00e1s informaci\u00f3n sobre la funci\u00f3n <span class=\"inline-code\">date()<\/span> puedes verla en <a href=\"https:\/\/php.net\/manual\/en\/function.date.php\" rel=\"noopener\" target=\"_blank\">https:\/\/php.net\/manual\/en\/function.date.php<\/a> (en ingl\u00e9s).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No siempre tenemos acceso sin restricciones a los servidores, as\u00ed que no siempre podemos configurarlos totalmente como quisi\u00e9ramos. En muchas instalaciones, por no decir, en pr\u00e1cticamente la totalidad, la funci\u00f3n date() de PHP devuelve la fecha en ingl\u00e9s. Si quieres que se muestre en espa\u00f1ol, creo que lo m\u00e1s f\u00e1cil es convertir el valor devuelto [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[43,70],"class_list":["post-380","post","type-post","status-publish","format-standard","hentry","category-informatica","tag-joomla","tag-php"],"_links":{"self":[{"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/posts\/380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/comments?post=380"}],"version-history":[{"count":1,"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/posts\/380\/revisions"}],"predecessor-version":[{"id":1477,"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/posts\/380\/revisions\/1477"}],"wp:attachment":[{"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/media?parent=380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/categories?post=380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/david.xn--cantn-3ta.com\/blog\/wp-json\/wp\/v2\/tags?post=380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}