Cambiar fecha en español con strtotime y strftime PHP
Cambiar fecha en español con strtotime y strftime PHP. En este artículo trataremos de personalizar una fecha asignada en una variable o sino generada mediante un formulario HTML. Sin embargo, si queremos convertir esa fecha en texto lo podemos hacer aplicando funciones propias del lenguaje PHP, el resultado será en idioma inglés.
Cambiar fecha en español con strtotime y strftime PHP
La idea de este artículo es convertir ese resultado en ingles al idioma español u otro idioma. Veremos cómo traducir usando PHP. Por lo tanto, si están desarrollando algún proyecto web este pequeño código es muy útil.
¿En qué casos puedo usar este código?
Estas características de visualizar texto partir de una fecha podemos utilizarlo en varios ocasiones por ejemplo.
- En un sistema de facturación cuando el cliente desea imprimir sus boletas y/ Facturas.
- Sistemas de reportes, por ejemplo de matrícula en una escuela, instituto y/o universidad.
- Impresión de todo tipo de documento que la empresa necesita imprimir.
La función setlocale
string setlocale ( int $category , string $locale [, string $... ] ) string setlocale ( int $category , array $locale )
setlocale — Establecer la información del localismo, funciones en versiones de PHP (PHP 4, PHP 5, PHP 7)
Ejemplo #1 Ejemplos de setlocale()
Establece el localismo al idioma español
<?php setlocale(LC_TIME, "spanish"); //Devuelve el resultado en español ?>
Ejemplo de usabilidad
<?php setlocale(LC_TIME, "spanish"); $mi_fecha = '2018/04/16'; $mi_fecha = str_replace("/", "-", $mi_fecha); $Nueva_Fecha = date("d-m-Y", strtotime($mi_fecha)); $Mes_Anyo = strftime("%A, %d de %B de %Y", strtotime($Nueva_Fecha)); //devuelve: lunes, 16 de abril de 2018 echo $Mes_Anyo; ?>
CONCLUSIÓN
Este código es muy fácil de implementar, solo basta brindar la fecha por una variable o formulario y ya lo tenemos funcionando. Se puede amoldar muy fácil a sus necesidades y lo más importante lo puedes mostrar en tu idioma.
En este ejemplo propusimos el idioma español. Sin embargo, ustedes pueden personalizar cualquier idioma.
Hola una consulta y si no soporta utilizar setlocale(LC_TIME, «spanish»); y necesito traducir una fechas ya estipuladas en el desarrollo de php como puedo hacer?
Hola nestor estoy intentando dejarte un comentario pero no veo notificacion si se ha enviado.
Hola Anthony,
Si, acabo de ver tu comentario.
Crack me salvaste la vida!, me estaba volviendo loco usando una clase y no podía repetirla en una misma página, en mi caso estoy programando una sección de noticias, donde pongo la fecha 3 veces, en la noticia que se está viendo, y abajo en ver «Siguiente» y ver «Anterior», y me salía un error de que no se podía repetir la clase, igualmente este código es más corto y mejor!, te agradezco!
Saludos Lucas,
Excelente, que bien que te aya servido el siguiente script PHP, me siento muy contento.
Un cordial saludo a la distancia.