Дата теряет формат и становится неопределенной - PullRequest
0 голосов
/ 11 мая 2018

Я создал этот код.

var selectedDate = new Date();
selectedDate = new Date(measure.date + " " + measure.column[key].time);
console.log(measure.date + " " + measure.column[key].time); //08/05/2017 08:05 <- dd/MM/yyyy HH:mm
console.log(selectedDate); //Sat Aug 05 2017 08:05:00 GMT+0200 (Romance Summer Time)
$scope.popupData.push({selectedHour: selectedDate, minHour:$scope.minvalueHour, maxHour:$scope.maxvalueHour, valueItem:measure.column[key].value});
console.log($scope.popupData[key].selectedHour);
//0: {selectedHour: undefined, minHour: "08:00", maxHour: "08:59", valueItem: "10", $$hashKey: "object:887"}length: 1__proto__: Array(0)

Этот код имеет две проблемы: во-первых, он меняет месяцы на дни, а во-вторых, хотя он создал дату, переменная отображается как неопределенная, в комментариях я указал результат console.log

1 Ответ

0 голосов
/ 11 мая 2018

Первая проблема 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 и использовать угловой фильтр даты дляотображать в любом формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...