¿Cómo obtengo la fecha actual en JavaScript?
javascript
date
date-formatting
Suresh Chaganti
fuente
fuente
var currentTime = new Date();
new Date()
devuelve la hora actual , no la fecha actual . La distinción es importante si está tratando de compararla con otra fecha que no tiene un componente de tiempo (es decir, es a medianoche).Respuestas:
Utilícelo
new Date()
para generar un nuevoDate
objeto que contenga la fecha y hora actuales.Esto le dará la fecha de hoy en el formato de mm / dd / aaaa.
Simplemente cambie
today = mm +'/'+ dd +'/'+ yyyy;
al formato que desee.fuente
01
,02
, ...,09
Date.prototype.toLocaleDateString()
método es una solución más flexible. Es parte de JavaScript desde ECMAScript 5.1 y está bien soportado por los navegadores de hoja perenne. MDN:toLocaleDateString()
Use la
replace
opción si va a reutilizar lautc
variablenew Date(utc)
, como Firefox y Safari no reconocen una fecha con guiones.fuente
toUTCString()
vuelve como utc datetime.moment( new Date().toJSON().slice(0, 10) )
Si quieres algo simple y bonito para el usuario final ...
Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
Esta actualización viene en
2sabores, aún 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
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');
Como puedes notar, puedes usar el doble
\
para escapar de un personaje.fuente
Lo mas corto posible.
Para obtener un formato como "2018-08-03":
Para obtener un formato como "8/3/2018":
Además, puede pasar la configuración regional como argumento, por ejemplo
toLocaleDateString("sr")
, etc.fuente
Si solo desea una fecha sin información de hora, use:
fuente
Prueba esto:
El resultado será como
fuente
Si está buscando un control mucho más granular sobre los formatos de fecha, le recomiendo consultar momentjs. Excelente biblioteca, y solo 5 KB. http://momentjs.com/
fuente
Puede usar moment.js: http://momentjs.com/
fuente
moment().format("L")
para respetar el entorno local actual.Para dividirlo en pasos:
(new Date()).toString()
da "Vie 28 de junio 2013 15:30:18 GMT-0700 (PDT)"(new Date()).toString().split(' ')
divide la cadena anterior en cada espacio y devuelve una matriz de la siguiente manera: ["Fri", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ](new Date()).toString().split(' ').splice(1,3).join(' ')
toma los valores segundo, tercero y cuarto de la matriz anterior, los une con espacios y devuelve una cadena "28 de junio de 2013"fuente
Date().split(' ').splice(1,3).join(' ')
Esto funciona cada vez:
fuente
Además, puede llamar al método
toLocaleDateString
con dos parámetros:Artículo sobre MSDN . Más sobre este método en MDN .
fuente
new Date().toLocaleDateString("de-de")
hace el truco para míVersión más simple y limpia:
El resultado varía según la configuración regional del usuario :
fuente
Si está satisfecho con el formato AAAA-MM-DD, esto también hará el trabajo.
new Date().toISOString().split('T')[0]
2018-03-10
fuente
Puede usar la biblioteca Date.js que extiende el objeto Date, por lo tanto, puede tener el método .today ().
fuente
Puede obtener la fecha actual, llame al método estático ahora de esta manera:
referencia:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
fuente
var dtToday = new Date(date.now);
La respuesta de Varun no tiene en cuenta TimezoneOffset . Aquí hay una versión que hace:
Los
TimezoneOffset
minutos son, mientras que el constructor Fecha toma milisegundos, por lo tanto, la multiplicación por60000
.fuente
La respuesta más corta es:
new Date().toJSON().slice(0,10)
fuente
Resultado:
fuente
Como
toISOString()
solo devolverá la hora UTC actual, no la hora local. Tenemos que hacer una fecha usando la función '.toString ()' para obtener la fecha enyyyy-MM-dd
formato comoPara poner la fecha y la hora en
yyyy-MM-ddTHH:mm:ss
formatoPara poner la fecha y la hora en
yyyy-MM-dd HH:mm:ss
formatofuente
Si desea un
DD/MM/YYYY
formato simple , acabo de encontrar esta solución simple, aunque no prefija los ceros faltantes.fuente
funcionaría también
fuente
ÚLTIMA EDICIÓN: 23/08/19 La biblioteca date-fns funciona de manera muy parecida a moment.js pero tiene una huella mucho menor. Le permite elegir qué funciones desea incluir en su proyecto para que no tenga que compilar toda la biblioteca para formatear la fecha de hoy. Si una lib mínima de terceros no es una opción para su proyecto, apruebo la solución aceptada por Samuel Meddows en la parte superior.
Preservar la historia a continuación porque ayudó a algunas personas. Pero para el registro es bastante hacky y es probable que se rompa sin previo aviso, como lo son la mayoría de las soluciones en esta publicación
EDITAR 2/7/2017 Una solución JS de una línea:
Explicación
Descubrí que IE10 e IE Edge hacen las cosas un poco diferentes ... imagínense. con
new Date(Date.now()).toLocaleString()
como entrada,IE10 devuelve:
Podría escribir una gran función larga y FTFY. Pero realmente deberías usar moment.js para estas cosas. Mi script simplemente limpia esto y le brinda la notación tradicional expandida de los Estados Unidos:
> todaysDate = "March 06, 2017"
IE EDGE devuelve:
Por supuesto que no podría ser tan fácil. La cadena de fecha de Edge tiene caracteres invisibles "•" entre cada uno visible. Entonces, no solo estaremos verificando si el primer carácter es un número, sino los primeros 3 caracteres, ya que resulta que cualquier carácter individual en todo el rango de fechas eventualmente será un punto o una barra diagonal en algún momento. Para mantener las cosas simples, solo .slice () los primeros tres caracteres (pequeño búfer contra futuras travesuras) y luego verifique los números. Probablemente debería notarse que estos puntos invisibles podrían potencialmente persistir en su código. Tal vez me gustaría profundizar en eso si tienes planes más grandes que simplemente imprimir esta cadena a tu vista.
∴ one-liner actualizado:
Eso apesta a leer. Qué tal si:
RESPUESTA ORIGINAL
Tengo una frase para ti:
y
[1]
te dará la hora del día.fuente
Puedes usar esto
El HTML es
fuente
Si está utilizando jQuery. Prueba este delineador:
Aquí está la convención para formatear la fecha
Aquí está la referencia para jQuery datepicker
fuente
Una forma directa de lograrlo (teniendo en cuenta su zona horaria actual, aprovechando el formato ISO aaaa-mm-dd) es:
Por lo general, este es un formato de fecha compatible bastante universal y puede convertirlo a un valor de fecha puro si es necesario:
fuente
Puedes ver esto
Y vea la documentación para el constructor Date (). enlace
fuente
¿Cuál es el problema con esto? La forma más limpia de hacerlo es
var currentDate=new Date().toLocaleString().slice(0,10);
fuente
3/4/2018,
, mejor usarnew Date().toJSON().slice(0,10)
..slice(0,10)
Esto puede ayudarte
Esto imprimirá la fecha actual en formato dd / MM / aaaa
fuente
Esto es bueno para obtener la fecha formateada
fuente
Creo que esta es una vieja pregunta, pero la forma más fácil sería la siguiente:
Esto tomará la hora actual, la pasará a una cadena en función de la ubicación y luego podrá llamar a la función CurrentTime para mostrar la hora. Esta sería, para mí, la forma más efectiva de obtener una marca de tiempo para algo.
fuente