Obtener la fecha actual en Javascript

Para obtener la fecha actual en Javascript podemos utilizar el siguiente bloque de código:

var hoy = new Date();
var dd = hoy.getDate();
var mm = hoy.getMonth()+1;
var yyyy = hoy.getFullYear();

Si queremos que los días tengan dos dígitos podemos hacerlo:

if(dd<10) {
    dd='0'+dd;
} 

if(mm<10) {
    mm='0'+mm;
} 

O utilizando una esta función para optimizar código:

function addZero(i) {
    if (i < 10) {
        i = '0' + i;
    }
    return i;
}

Con lo que lo anterior nos quedaría tal que:

dd=addZero(dd);
mm=addZero(mm);

Ahora ya tenemos el día (dd) el mes (mm) y el año (yyyy)

 



 

Solo nos quedaría darle el formato que queramos, en nuestro caso 20/03/2017 (dd/mm/yyyy)

hoy = dd+'/'+mm+'/'+yyyy;
console.log(hoy);

Si queremos una función que nos haga todo lo anterior para reutilizar código podemos usar algo parecido a:

function hoyFecha(){
    var hoy = new Date();
        var dd = hoy.getDate();
        var mm = hoy.getMonth()+1;
        var yyyy = hoy.getFullYear();
        
        dd = addZero(dd);
        mm = addZero(mm);

        return dd+'/'+mm+'/'+yyyy;
}

Fijaros que dentro de esta función estamos utilizando también la anterior creada "addZero()".

Espero os sirva 🙂

Saludos!


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

¿Eres programador/a?

En Pulpo están buscando nuevos talentos, envíales un email a developers@pulpoapp.com.

22 Comments

kike

¡¡Hola Sergio!!

Gracias por escribir, me alegro que te sirviese de orientación (:

¡Saludos!

Reply
Mario Gasca

Esta excelente tu código, tenia algo similar pero era un lío y una vez que vi tu post me di cuenta que se podía optimizar muchisimo. Gracias por el aporte

Reply
Rafael Mejia

muchas gracias por compartir tu código, es muy fácil de entender y optimizado.

Reply
kike

¡Muchas gracias a ti Caterin!

Me alegro mucho que lo hayas entendido facilmente.

¡¡Saludos!!

Reply
Marco Aguilar

para poner automáticamente la fecha de hoy en el formato «10 diciembre 2020» como seria, es decir quiero que en la fecha aparezca el nombre completo del mes.

Reply
kike

¡Hola Marco!

Gracias por escribir.

Prueba a ver si así te vale:

Solo modificamos la linea del mes.
Sustituimos esta:

var mm = hoy.getMonth()+1;

Por esta otra:

var mm = hoy.toLocaleString("es-es", { month: "long" });

¡Espero que te sirva!

Saludosss

Reply
Facundo Fernandez

Hola muchas gracias por la guia.
Necesito modificar un poco la funcion para poder agregarle por parametro X cantidad de dias.
No se como hacerlo, en primer lugar pense que si los dias dan mas de 31 habria que sumarle 1 al mes, pero el problema viene que no se bien como hacer ya que hay meses que tienen 31 dias, otros 30 y otro 28.

lo que tengo es esto:

function getDate(days){

function addZero(i) {
if (i < 10) {
i = '0' + i;
}
return i;
}

var hoy = new Date();

var dd = hoy.getDate()+days;
var mm = hoy.getMonth()+1;
var yyyy = hoy.getFullYear();

dd = addZero(dd);
mm = addZero(mm);

var start = yyyy+'-'+mm+'-'+dd;

return start;
}

Reply
kike

Hola Facundo!

Gracias por escribir (:

Lo que yo haría es sumar los días en el momento que creas la fecha.

Creamos la fecha:

var fecha = new Date();

Y para sumarle días (en este caso 5):

fecha.setDate(fecha.getDate() + 5);

Aquí te dejo una pequeña modificación de tu script, espero que te sirva (:

function getDate(days){

    function addZero(i) {
        if (i < 10) {
            i = '0' + i;
        }
        return i;
    }
    
    var fecha = new Date();
    fecha.setDate(fecha.getDate() + days);
    
    var dd = fecha.getDate();
    var mm = fecha.getMonth()+1;
    var yyyy = fecha.getFullYear();
    
    dd = addZero(dd);
    mm = addZero(mm);
    
    return yyyy+'-'+mm+'-'+dd;
}

Te dejo también el Fiddle para que lo veas funcionando:

Un saludo!!

Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*