Quiero obtener la hora actual en un formato específico con javascript.
Con la función a continuación y llamarla me dará el viernes 01 de febrero de 2013 13:56:40 GMT + 1300 (hora de verano de Nueva Zelanda) pero quiero formatearlo como viernes 2:00 pm 1 de febrero de 2013
var d = new Date();
var x = document.getElementById("time");
x.innerHTML = d;
Por supuesto, el código anterior no tiene ninguna lógica de formato, pero todavía no me he encontrado con ningún formateador "funcional".
javascript
date
time
format
Seong Lee
fuente
fuente
Respuestas:
Una fecha de JavaScript tiene varios métodos que le permiten extraer sus partes:
getFullYear()
- Devuelve el año de 4 dígitosgetMonth()
- Devuelve un entero de base cero (0-11) que representa el mes del año.getDate()
- Devuelve el día del mes (1-31).getDay()
- Devuelve el día de la semana (0-6). 0 es domingo, 6 es sábado.getHours()
- Devuelve la hora del día (0-23).getMinutes()
- Devuelve el minuto (0-59).getSeconds()
- Devuelve el segundo (0-59).getMilliseconds()
- Devuelve los milisegundos (0-999).getTimezoneOffset()
- Devuelve el número de minutos entre la hora local de la máquina y UTC.No hay métodos integrados que le permitan obtener cadenas localizadas como "Viernes", "Febrero" o "PM". Tienes que codificarlo tú mismo. Para obtener la cadena que desea, al menos necesita almacenar representaciones de cadena de días y meses:
Luego, júntelo usando los métodos anteriores:
Tengo una función de formato de fecha que me gusta incluir en mi biblioteca estándar. Toma un parámetro de cadena de formato que define la salida deseada. Las cadenas de formato se basan libremente en cadenas de formato de fecha y hora personalizadas de .Net . Para el formato que ha especificado la siguiente cadena de formato funcionaría:
"dddd h:mmtt d MMM yyyy"
.Demostración: jsfiddle.net/BNkkB/1
Aquí está mi función de formato de fecha completa:
fuente
MMMM[0]
devuelve el nombre del mes correcto en lugar del carácter no imprimible en el índice 0? ¿No debería serloMMMM[M]
? ¿Soy tonto? (No importa. Lo establece en el carácter no imprimible, que reemplaza más tarde para evitar conflictos)Puede que quieras probar
Documentación
fuente
d.toLocaleTimeString()
yd.toLocaleTimeString()
no funcionan.toLocaleTimeString()
ytoLocaleTimeString()
Actualización de 2017 : use toLocaleDateString y toLocaleTimeString para formatear fechas y horas. El primer parámetro que se pasa a estos métodos es un valor de configuración regional, como en-us . El segundo parámetro, cuando está presente, especifica las opciones de formato, como la forma larga para el día de la semana.
Consulte el enlace a continuación para obtener más detalles.
Cadenas de fecha y hora (JavaScript)
fuente
toLocalTimeString
ofrece 4 estilos de fechafull
long
medium
short
, y quizás el significado de esos términos esté definido en alguna parte. Mientras tanto, strftime podría (probablemente) coincidir con cualquiera de esos y muchos más. Por otro lado,toLocalTimeString
admite zonas horarias. Espero que eso incluya las zonas horarias que utilizan el horario de verano ...Puedes usar mi puerto de strftime :
Uso de muestra:
El último código está disponible aquí: https://github.com/thdoan/strftime
fuente
Mire los aspectos internos de la clase Date y verá que puede extraer todos los bits (fecha, mes, año, hora, etc.).
http://www.w3schools.com/jsref/jsref_obj_date.asp
Para algo como
Fri 23:00 1 Feb 2013
el código es como:**** Modificado 2019-05-29 para mantener felices a 3 votantes en contra
fuente
date.getMinutes()
es que devuelve un solo dígito cuando los minutos son inferiores a 10, lo que da como resultado tiempos como "10: 4 am" en lugar del más común "10:04 am".Hay muchas bibliotecas geniales para aquellos interesados
Realmente no debería ser necesario en estos días inventar sus propios especificadores de formato.
fuente
moment
es el estándar actual para cosas relacionadas con el tiempo en Javascript.moment
rocas.d3
también ha agregado algunas cosas de tiempo, por lo que si ya lo está usando, es posible que pueda guardar una importación de biblioteca github.com/d3/d3/blob/master/API.md#time-formats-d3-time-format2,39 KB minificado. Un archivo. https://github.com/rhroyston/clock-js
La hora actual es
fuente
fuente
Para trabajar con la clase Date base, puede buscar en MDN sus métodos (en lugar de W3Schools debido a esta razón ). Allí puede encontrar una buena descripción sobre cada método útil para acceder a cada componente de fecha / hora e información relativa a si un método está obsoleto o no.
De lo contrario, puede mirar Moment.js, que es una buena biblioteca para usar para el procesamiento de fecha y hora. Puede usarlo para manipular la fecha y la hora (como analizar, formatear, i18n, etc.).
fuente
Uso y resultado:
fuente
Para este verdadero estilo mysql use esta función a continuación:
2019/02/28 15:33:12
fuente
ISO8601 (por ejemplo: HH: MM: SS, 07:55:55 o 18:50:30) en Chrome:
en el borde:
fuente
}) ();
05:12:00
fuente
fuente