私のサーバに保存されている営業時間と現在の時間を比較したいと思います。店が開いているか閉じている場合、私は結果が欲しい00.30営業時間を比較するには?
:
開始:09.00 エンド
は、次のことを考えます。現在の時刻が指定された開始時刻と終了時刻にない場合、ストアは閉じられます。
これまで使用していたコードは機能しません。私はエラーを取得する:
TypeError: Cannot read property '3' of undefined
firebase.database().ref("v3/standalonelist/bars").on('value', function(snapshot) {
$timeout(function() {
$scope.content = snapshot.val();
snapshot.forEach(function(childSnapshot) {
$scope.data1 = [childSnapshot.val()];
$scope.locations1 = $scope.data1
$scope.locations1.forEach(function(item) {
$scope.getMinutes = function(str) {
var time = str.split('.');
return time[0] * 60 + time[1] * 1;
}
$scope.getMinutesNow = function() {
var timeNow = new Date();
return timeNow.getHours() * 60 + timeNow.getMinutes();
}
var a = new Date();
var day = a.getDay(); // 3
var now = $scope.getMinutesNow();
console.log(item.opens[day]); // returns 09.00
var start = $scope.getMinutes(item.opens[day]); // 09.00
var end = $scope.getMinutes(item.closes[day]); // 01.20
if (start > end) {
end += $scope.getMinutes('24.00');
}
if ((now > start) && (now < end)) {
$scope.$apply(function() {
$scope.open = true; // Store is open
})
} else {
$scope.open = false; // Store is closed
}
})
})
あなたは 'item.opens'と' item.closes'を定義しているようには見えません。 –
はい、できます。私はfirebaseからデータを取得します。 var startの前にconsole.logが正しい時刻を返します。 – olivier
あなたの投稿にデータを含める必要があります。 –