2016-09-19 5 views
0

Hallo, ich habe Taste Taste deaktivieren, basierend auf Datum, meine Anforderung i json hat, die Werte checkinStartDate und checkinEndDatedeaktivieren Taste basierend auf Zeit mit AngularJS

{ 
    "checkinStartDate": "10/22/2016 09:10:04 AM", 
    "checkinEndDate": "10/22/2016 19:10:04 PM" 
} 

Zum Beispiel der heutige Datum 10 haben ist/22/2016 dann wird die Bedingung unten erwähnt. Ich muss vor 1 Std (10/22/2016 08:10:04) von checkinStartDate und 1 Std. (10/22/2016 20:10:04 PM) nach checkEndDate.other als diese aktivieren Zeit-Taste sollte im deaktivierten Modus sein Jede Hilfe wird sehr gut sein.

+0

@JoaozitoPolo ja ist es dynamisch – Sudhir

+0

Vielleicht könnten Sie setTimeout() verwenden, nachdem Sie Ihre JSON überprüfen und die Zeit, die die App warten müssen. Wenn das setTimeout ausgelöst wird, können Sie Ihre Deaktivierungsvariable auf true setzen und die Schaltfläche deaktivieren. – vict

Antwort

1

Angenommen, Ihr Objekt ist $ scope.date zugewiesen Dann, was Sie als nächstes tun müssen, ist.

$scope.checkDate = function() { 
    var ONE_HOUR = 60 * 60 * 1000; /* ms */ 
    var myDate = { 
    "checkinStartDate": "10/22/2016 09:10:04 AM", 
    "checkinEndDate": "10/22/2016 19:10:04 PM" 
    } 

    var checkInStart = new Date(myDate.checkinStartDate); 
    var checkInEnd = new Date(myDate.checkinEndDate); 

    var current = new Date(); 

    //only enable during this time 
    if ((current.getTime() < checkInStart.getTime() + ONE_HOUR) && (current.getTime() + ONE_HOUR > checkInEnd.getTime())) 
    return false; 


    //otherwhile disable 
    return true; 
} 

In der Ansicht, es ist nur

<button ng-disabled="checkDate()">View<button> 

s p/nennen: es nur die Idee ist, ich bin nicht sicher, dass mein Zustand korrekt ist, weil ich für die Prüfung der Umwelt nicht haben. getTime() gibt Ihnen die Anzahl der Millisekunden seit Mitternacht 1. Januar 1970 und ein bestimmtes Datum zurück. Dann können Sie es verwenden, um 1 Stunde vorher zu vergleichen. Siehst du, was ich sage?

+0

HI Danke für Ihren Vorschlag, aber ich bekomme ungültiges Datum für checkInEnd – Sudhir

+0

bekommen ungültiges Datum für CheckinEndDate – Sudhir

+0

Wie geht das Sudhir? –

Verwandte Themen