Первая проблема changes the months for the days
вызвана тем фактом, что новый конструктор Date () ожидает гггг-ММ-дд ( ISO 8601 формат) и не выполняет такую большую работу с другими входными данными.
Исправлено:
// Parse measure.date into ISO 8601
var parsedMeasureDate = measure.date.split("/").reverse().join('-');
var selectedDate = new Date(parsedMeasureDate);
// Parse time into array and manually set hours and minutes
var parsedMeasureTime = measure.column[key].time.split(":");
selectedDate.setHours(parsedMeasureTime[0]);
selectedDate.setMinutes(parsedMeasureTime[1]);
Что касается второй проблемы, это странно.Попробуйте создать объект заранее, зарегистрировать его и затем нажать его.
var x = {
selectedHour: selectedDate,
minHour:$scope.minvalueHour,
maxHour:$scope.maxvalueHour,
valueItem:measure.column[key].value
};
console.log(x);
$scope.popupData.push(x);
Также, в качестве подсказки, вы должны всегда пытаться сохранить объект Date и использовать угловой фильтр даты дляотображать в любом формате.