¿Cómo puedo obtener la fecha actual en JavaScript

javascript date date-formatting


¿Cómo puedo obtener la fecha actual en JavaScript?




Answer 1 Samuel Meddows


Use new Date() para generar un nuevo objeto Date que contenga la fecha y hora actuales.

var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Esto le dará la fecha de hoy en el formato de mm/dd/aaaa.

Simplemente cambie today = mm +'/'+ dd +'/'+ yyyy; a cualquier formato que desee.




Answer 2 Varun Natraaj


var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Use la opción de replace si va a reutilizar la variable utc , como la new Date(utc) , ya que Firefox y Safari no reconocen una fecha con guiones.




Answer 3 SpYk3HH


¡ACTUALIZADO! , Desplazarse hacia abajo

Si desea algo simple y bonito para el usuario final ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

ACTUALIZACIÓN DE UBBER Después de muchas dilaciones, finalmente he GitHubbed y actualicé esto con la solución final que he estado usando para mí. ¡Incluso ha tenido algunas ediciones de último minuto para hacerlo más dulce! Si está buscando el viejo jsFiddle, vea esto .

Esta actualización viene en 2 sabores, todavía relativamente pequeña, aunque no tan pequeña como mi respuesta original anterior. Si quieres extremadamente pequeño, ve con eso.
También tenga en cuenta: Esto todavía está menos hinchado que moment.js. Si bien moment.js es agradable, en mi opinión, tiene demasiados métodos seculares, que requieren un momento de aprendizaje como si fuera un lenguaje. El mío aquí usa el mismo formato común que PHP: fecha .

Enlaces rápidos

Sabor 1 new Date().format(String) Mi favorito personal. Conozco el tabú pero funciona muy bien en el objeto Fecha. Solo tenga en cuenta cualquier otra modificación que pueda tener para el Objeto de fecha.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Sabor 2 dateFormat(Date, String) Método todo en uno más tradicional. Tiene toda la capacidad de la anterior, pero se llama a través del método con Fecha param.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Flavor (requiere jQuery) $.date(Date, String) Contiene mucho más que una simple opción de format o . Extiende el objeto Fecha base e incluye métodos como addDays . Para obtener más información, consulte el Git .

En este mod, los caracteres de formato están inspirados en PHP: fecha . Para obtener una lista completa, consulte mi LÉAME

Este mod también tiene una lista mucho más larga de formatos prefabricados. Para usar un formato prefabricado, simplemente ingrese su nombre clave. dateFormat(new Date(), 'pretty-a');

  • 'compound'
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Ymd h: i: s'
    • 'postgreSQL' == 'Yz'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == 'Ymd \\ TH: i: su'
    • 'soap2' == 'Ymd \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG: i: s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Ynj \\ TG: i: s'
  • 'constants'
    • 'AMERICAN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / d / Y'
    • 'AMERICANSHORTWTIME' == 'm / d / Y h: i: sA'
    • 'ATOM' == 'Ymd \\ TH: i: sP'
    • 'COOKIE' == 'l dMY H: i: s T'
    • 'EUROPEAN' == 'j FY'
    • 'EUROPEANSHORT' == 'dmY'
    • 'EUROPEANSHORTWTIME' == 'dmY H: i: s'
    • 'ISO8601' == 'Ymd \\ TH: i: sO'
    • 'LEGAL' == 'j FY'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l dMi H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d MYH: i: s O'
    • 'RFC2822' == 'D d MYH: i: s O'
    • 'RFC3339' == 'Ymd \\ TH: i: sP'
    • 'RSS' == 'D d MYH: i: s O'
    • 'W3C' == 'Ymd \\ TH: i: sP'
  • 'pretty'
    • 'pretty-a' == 'g: i.sA l jS \\ o \\ f FY'
    • 'pretty-b' == 'g: iA l jS \\ o \\ f FY'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'pretty-f' == 'g: iA'

Como puede observar, puede usar double \ para escapar de un personaje.





Answer 4 Damjan Pavlica


Lo mas corto posible.

Para obtener un formato como "2018-08-03":

let today = new Date().toISOString().slice(0, 10)

console.log(today)

Para obtener un formato como "8/3/2018":

let today = new Date().toLocaleDateString()

console.log(today)

Además, puede pasar la configuración regional como argumento, por ejemplo toLocaleDateString("sr") , etc.




Answer 5 Marshal


Si sólo quieres una cita sin información de tiempo,usa:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);