0

I have an array of hourly date data strings in the format below. How can I parse it into a Javascript Date Object and then order it either by ascending or descending? The last two digits are the hour of day, out of 24.

["01/26/2014 01", "01/26/2014 16", "01/26/2014 19", "01/23/2014 22", "01/25/2014 09"]
ac360
  • 7,735
  • 13
  • 52
  • 91
  • 1
    new Date("01/26/2014 01" + ":00:00") – dandavis Jan 27 '14 at 18:47
  • Use what @dandavis said to create the `Date` objects and then look here for how to sort dates: http://stackoverflow.com/questions/16690035/sort-date-in-javascript – talemyn Jan 27 '14 at 18:54

3 Answers3

2

try this: Not tested much :-) (( at work ))

var a = ["01/26/2014 01", "01/26/2014 16", "01/26/2014 19", "01/23/2014 22", "01/25/2014 09"];
var b = [];
for(var i = 0; i < a.length; i++){
  var dt = new Date(a[i] + ":00");
   b.push( dt );
}

console.log(b.sort());
console.log(b.sort().reverse());
james emanon
  • 11,185
  • 11
  • 56
  • 97
1

This library will help you: http://momentjs.com/. Read format section.

You could do something like this.

var formated_date = moment(your_js_var).format("D/M/YY H");
Ricbermo
  • 815
  • 1
  • 6
  • 28
1
var newDateArray = [];

for(var i=0;i<oldDateArray.length;i++)
{
  var d = new Date(oldDateArray[i]+":00");
  newDateArray.push(d);

}

newDateArray.sort();

Seems to work on my end.

Obversity
  • 567
  • 2
  • 9
  • 21