Let's say that i have a JSON file like this
[
{
"programId": "bla-bla-1",
"programTitle": "bla bla 1",
"programImg": "bla1.jpg",
"startsAt": "Apr 05 2017 11:00:00 GMT+0200 (EET)",
"endsAt": "Apr 05 2017 12:00:00 GMT+0200 (EET)"
},
{
"programId": "bla-bla-2",
"programTitle": "bla bla 2",
"programImg": "bla2.jpg",
"startsAt": "Apr 05 2017 12:00:00 GMT+0200 (EET)",
"endsAt": "Apr 05 2017 14:00:00 GMT+0200 (EET)"
},
{
"programId": "bla-bla-3",
"programTitle": "bla bla 3",
"programImg": "bla3.jpg",
"startsAt": "Apr 05 2017 14:00:00 GMT+0200 (EET)",
"endsAt": "Apr 05 2017 16:00:00 GMT+0200 (EET)"
}
]
And current time is (Apr 05 2017 12:30:00 GMT+0200 (EET)) how can i get the current program from those time ranges using Javascript also i can use library like momentJS
You can do something like this:
var obj = [ { "programId": "bla-bla-1", "programTitle": "bla bla 1", "programImg": "bla1.jpg", "startsAt": "Apr 05 2017 11:00:00 GMT+0200 (EET)", "endsAt": "Apr 05 2017 12:00:00 GMT+0200 (EET)" }, { "programId": "bla-bla-2", "programTitle": "bla bla 2", "programImg": "bla2.jpg", "startsAt": "Apr 05 2017 12:00:00 GMT+0200 (EET)", "endsAt": "Apr 05 2017 14:00:00 GMT+0200 (EET)" }, {"programId": "bla-bla-3", "programTitle": "bla bla 3", "programImg": "bla3.jpg", "startsAt": "Apr 05 2017 14:00:00 GMT+0200 (EET)", "endsAt": "Apr 05 2017 16:00:00 GMT+0200 (EET)"}];
var now = new Date("Apr 05 2017 12:30:00 GMT+0200 (EET)").getTime();//new Date().getTime();
var prog = obj.find(o => {
return (now >= new Date(o.startsAt).getTime() && now <= new Date(o.endsAt).getTime());
});
console.log(prog);