Código de JavaScript - Convierte una fecha en formato ingles a español

Imágen de perfil

Convierte una fecha en formato ingles a españolgráfica de visualizaciones


JavaScript

Publicado el 06 de Febrero del 2017 por Xavi
1.892 visualizaciones desde el 06 de Febrero del 2017. Una media de 35 por semana
Código que recibe un fecha en formato ingles (aaaa/mm/dd), y la devuelve el formato español (dd/mm/aaaa) si esta es correcta, o un objeto fecha. Incluye función para validar si la fecha es correcta.

Este código es el mismo que hay publicado aquí pero modificado para convertir de ingles a español.

Versión 1

Actualizado el 07 de Marzo del 2017 (Publicado el 06 de Febrero del 2017)gráfica de visualizaciones de la versión: Versión 1
1.893 visualizaciones desde el 06 de Febrero del 2017. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
    /**
     * Funcion que devuelve true o false dependiendo de si la fecha es correcta.
     * Tiene que recibir el dia, mes y año
     */
    function isValidDate(day,month,year)
    {
        var dteDate;
 
        // En javascript, el mes empieza en la posicion 0 y termina en la 11
        // siendo 0 el mes de enero
        // Por esta razon, tenemos que restar 1 al mes
        month=month-1;
        // Establecemos un objeto Data con los valore recibidos
        // Los parametros son: año, mes, dia, hora, minuto y segundos
        // getDate(); devuelve el dia como un entero entre 1 y 31
        // getDay(); devuelve un num del 0 al 6 indicando siel dia es lunes, 
        // martes, miercoles ...
        // getHours(); Devuelve la hora
        // getMinutes(); Devuelve los minutos
        // getMonth(); devuelve el mes como un numero de 0 a 11
        // getTime(); Devuelve el tiempo transcurrido en milisegundos desde el
        // 1 de enero de 1970 hasta 
        // el momento definido en el objeto date
        // setTime(); Establece una fecha pasandole en milisegundos el valor de esta.
        // getYear(); devuelve el año
        // getFullYear(); devuelve el año
        dteDate=new Date(year,month,day);
 
        //Devuelva true o false...
        return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
    }
 
    /**
     * Funcion que recibe una fecha en formato ingles "2013/01/21" y la devuelve
     * en formato español "21/01/2013"
     * Tiene que recibir:
     *  - fecha en formato ingles (2013/01/21)
     *  - formato de respuesta:
     *      1 - fecha en formato cadena
     *      2 - objeto fecha
     * Devuelve vacio si la fecha es erronea
     */
    function convertDateEsToEn(dateEs,formatReturn)
    {
        var patron=new RegExp("^(19|20)+([0-9]{2})([/])([0-9]{1,2})([/])([0-9]{1,2})$");
 
        // Validamos que la fecha sea correcta en el formato español segun
        // la expresion regular
        if(dateEs.search(patron)==0)
        {
            values=dateEs.split("/");
            // Revisamos que la fecha sea correcta
            if(isValidDate(values[2],values[1],values[0]))
            {
                // devuelve la fecha en formato ingles
                if(formatReturn==2)
                {
                    // puedes devolver un objeto fecha para trabajar con el
                    return new Date(values[0],(parseInt(values[1])-1),values[2]);
                }else{
                    // puedes devolver simplemente la fecha en formato cadena
                    return values[2]+"/"+values[1]+"/"+values[0];
                }
            }
        }
        return "";
    }
</script>
</head>
 
<body>
<div>
    Indica una fecha en formato (yyyy/mm/dd): <input type="text" size="12" maxlenght="10" onkeyup="document.getElementById('dateEN').innerHTML=convertDateEsToEn(this.value,1);">
</div>
<div>Fecha en formato (dd/mm/yyyy): <span id="dateEN"></span></div>
</body>
</html>



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3861