2012-07-16 30 views

Respuesta

17
var input = "2009-07-15 00:00:00 - 2009-07-15 08:16:23"; 
input = input.split(" - ").map(function (date){ 
    return Date.parse(date+"-0500")/1000; 
}).join(" - "); 

Demo

Date.parse docs

Nota: Esto no funcionará en los navegadores antiguos ya que estoy usando Array.map, pero creo que debe ser fácilmente capaz de acuñar la misma.

+1

esto no lo hace funciona incluso o su demo en Firefox 19.0.2 – Sergiu

59

Te recomiendo encarecidamente que uses Moment Fecha lib cuando trabajas con fechas en js. Es realmente ligero e impresionante.

var timeStamp = (moment('2009-07-15 00:00:00').unix())*1000 
+2

Esta biblioteca simplifica la sintaxis y simplifica la lógica. Parece que vale la pena incluir esto con una función node.js enfocada de fecha/hora. 6 KB minificado, para aquellos interesados ​​en incluir esto en el lado del navegador. – ekillaby

+2

Realmente. Después de luchar mucho con las otras respuestas cuando probé 'moment.js', fue una tranquilidad inmediata. ¡Bendiga a la persona que creó 'moment.js' !!! – Nav

+1

Esto también funciona con NodeJs, que es una gran ventaja. –

15

en Javascript que puede pasar directamente a la cadena hasta la fecha constructor de objeto, como

var date = new Date('2009-07-15 00:00:00'.split(' ').join('T'))

que le dará a usted fecha objeto y conseguir marca de tiempo desde ella se puede hacer

date.getTime()/1000

dividiendo por 1000 porque getTime dará marcas de tiempo en milisegundos

Working Demo

NOTA:

Firefox no es capaz de analizar el formato de fecha y hora determinada, por lo que necesitamos para convertirlo en formato adecuado en primer lugar, para los que sólo tenemos que sustituir el espacio entre la fecha y la hora componente con 'T' que lo convierten en un formato válido ISO 8601 y Firefox será capaz de analizarlo

Referencia:

Date.parse in MDN

ISO 8601 Date Format

Same question asked here

+0

esto no funciona ni siquiera en su demo en Firefox 19.0.2 – Sergiu

+0

ok, firefox de alguna manera no puede analizar el formato de fecha, solo espera uno de estos formatos http: // www .w3.org/TR/NOTE-datetime –

+1

comprobar enlace de demostración actualizado funcionará también con firefox –

0

utilizando el método de la división se pueden cambiar el formato de fecha y hora en la fecha, es muy simple y fácil de todos.

var str = "2017-05-09T00:00:00.000Z"; 
var res = str.split("-",2); 
var res = str.split("T",1); 
var temp=res; 
Cuestiones relacionadas