У меня есть требование, когда я должен фильтровать свои данные на основе datetime.Я получаю данные на стороне сервера и передавая их на стороне клиента, сериализуя его. Моя дата в формате ("2014-01-01 12:00:00")). Контроль, который я использовал, - это Telerik RadDatePicker и RadSlider, после изменения значения ползунка я хочу отфильтровать свои данные, добавив количество часов до даты и сравнив их с моими данными. Есть ли простой способ сделать это в javascript, который будет обрабатывать все сценарии, такие как обработка сценария високосного года, поскольку дата изменится, когда часы превысят 24.
Это то, что решает мою проблему.
function clientValueChange(sender, eventArgs) {
var hr = parseInt(sender._itemData[sender.get_value()].value);
if (dtWPSelDate == "")
return;
var arr = dtWPSelDate.split(' ')[0].split('-');
var dtt = new Date();
dtt.setYear(arr[0]);
dtt.setMonth(parseInt(arr[1]-1));
dtt.setDate(arr[2]);
if (eventArgs.get_oldValue() > eventArgs.get_newValue())
dtt.setHours(-hr,0,0);
else
dtt.setHours(hr,0,0);
dtt.setMinutes(0);
dtt.setSeconds(0);
if ((parseInt(hr) % 24) == 0) {
dtWPSelDate = dtt.format('yyyy-MM-dd 00:mm:ss');
}
else
dtWPSelDate = dtt.format('yyyy-MM-dd hh:mm:ss');
console.log(dtWPSelDate);
}
var dtWPSelDate ;
function DateSelected(sender, eventArgs) {
dtWPSelDate = eventArgs._newValue;
}
var dateString = "4/10/2014"; //consider this as your date in string DataType
var dateArray = dateString.split("/");
var date = new Date(dateArray[2], Number(dateArray[1])-1, dateArray[0]);
//To add Hours
var hoursToBeAdded = 10;
date.setHours(hoursToBeAdded);
Выделите пункт: вам не нужно беспокоиться о високосный год, который будет обрабатываться самим javascript.