toisostring - Fechas de JavaScript: toGMTString, pero también formato ISO 8601?
javascript iso date to dd mm yyyy (3)
¿Existe una manera fácil de convertir un objeto de fecha a la hora GMT, pero también se muestra en formato ISO 8601?
¿Hay alguna manera fácil de convertir un objeto de fecha en hora GMT?
Sí:
var d = new Date();
d.toGMTString()
pero también se muestran en formato ISO 8601?
Función tomada desde aquí (también tienen un analizador ISO 8601)
function ISODateString(d) {
function pad(n) { return n<10 ? ''0''+n : n }
return d.getUTCFullYear()
+ ''-'' + pad(d.getUTCMonth()+1)
+ ''-'' + pad(d.getUTCDate())
+ ''T'' + pad(d.getUTCHours())
+ '':'' + pad(d.getUTCMinutes())
+ '':'' + pad(d.getUTCSeconds())
+ ''Z''
}
Aquí está la página MDN date.toISOString () que también incluye código de compatibilidad entre navegadores. Ambas formas crean una cadena ISO 8601 a partir de una instancia de fecha:
La mejor solución que he encontrado es usar la biblioteca javascript Moment.js y usar el siguiente código:
Para obtener la hora ISO actual con información de zona horaria y milisegundos
now = moment().format("YYYY-MM-DDTHH:mm:ss.SSSZZ")
// "2013-03-08T20:11:11.234+0100"
now = moment().utc().format("YYYY-MM-DDTHH:mm:ss") + "Z"
// "2013-03-08T19:11:11Z" <- better use the native .toISOString()
Para obtener la hora ISO de un objeto JavaScript Date nativo con información de zona horaria pero sin milisegundos
var current_time = Date.now();
moment(current_time).format("YYYY-MM-DDTHH:mm:ssZZ")