javascript: come analizzare una stringa di data

Il formato è: MMDDHHMM

Voglio prendere mese, giorno, ora, minuto individualmente, come farlo?

var dateString = '13011948'; 

La lunghezza del testo è fissa e sempre nella stessa posizione. Quindi puoi semplicemente usare il substr per tagliarli in parti e usare parseInt per convertirli in numero.

 var month = parseInt(dateString.substr(0, 2), 10), day = parseInt(dateString.substr(2, 2), 10), hour = parseInt(dateString.substr(4, 2), 10), minute = parseInt(dateString.substr(6, 2), 10); 

O invece, mettilo in un singolo object data.

 var date = new Date(); date.setMonth (parseInt(dateString.substr(0, 2), 10) - 1); date.setDate (parseInt(dateString.substr(2, 2), 10)); date.setHours (parseInt(dateString.substr(4, 2), 10)); date.setMinutes (parseInt(dateString.substr(6, 2), 10)); 

Se hai la certezza che sarà sempre nel formato MMDDHHMM, potresti analizzarlo con una semplice espressione regolare.

 var d = "01121201"; var m = /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/.exec(d); console.log(m); 

che produrrebbe

 ["01121201", "01", "12", "12", "01"] 

Ma usando le funzioni di data effettive è meglio se ansible.

Potresti fare qualcosa di simile al seguente per prendere il risultato della corrispondenza delle espressioni regolari di cui sopra per creare un vero object Date JavaScript:

 //The year will default to the current year var realDate = new Date(); realDate.setMonth(m[1]); realDate.setDate(m[2]); realDate.setHours(m[3]); realDate.setMinutes(m[4]); 

MODIFICARE

La libreria moment.js trovata qui sembra incredibile per questo!

FINE MODIFICA

questo dovrebbe aiutare … lavorare con le date

Ci sono diversi metodi in javascript Date object che ti porteranno questi parametri

 var curdate = new Date(); var mday = curdate.getDate(); //returns day of month var month = curdate.getMonth(); //returns month 0-11 var hours = curdate.getHours(); //returns hours 0-23 var minutes = curdate.getMinutes(); //returns minutes 0-59 

Controlla questo

Se non hai un object data puoi analizzarlo usando

 var curdate = Date.parse("Jan 1, 2010"); 

Per analizzare la data nel formato specifico, consultare questo