2017-02-07 3 views
1

ich mache ein Mini-Anwesenheitsmodul, aber ich habe keine Idee, dies zu tun, also bitte helfen Sie mir und der Benutzer muss alle 3 Stunden teilnehmen, wenn sie bei 3:05 Uhr teilnehmen, wird der Unterschied von Zeit sein der Wert von $lateaktuelle Zeit minus die eingereichte Zeit

dies ist mein Code, um die Zeit des Erhaltens in der Seite

var currentTime = new Date() 
var hours = currentTime.getHours() 
var minutes = currentTime.getMinutes() 
if (minutes < 10){ 
minutes = "0" + minutes 
} 
document.write(hours + ":" + minutes + " ") 
if(hours > 11){ 
document.write("PM") 
} else { 
document.write("AM") 
} 

so im Planungs zeigen die Zeit in die Datenbank zu erhalten, indem diese

INSERT INTO time_in(late,time_in) 
     VALUES ('$late,NOW())"; 
mit

und mein großes Problem. ist, wie kann ich den unterschied von zeit benötigt? und wie kann ich den Unterschied in meine Datenbank einfügen?

Antwort

0

Javascript Date-Objekt definiert eine Methode mit dem Namen .getTime(), die das Objekt in eine ganze Zahl in Millisekunden vom 01.01.1970 00:00:00 konvertiert.

So könnte der Unterschied wie folgt berechnet:

var before = new Date('2017-02-07 06:00:00'); 
var after = new Date('2017-02-07 07:00:00'); 
var diff = after.getTime() - before.getTime(); 
// 3600000 milliseconds 

oder mit (+) Abkürzung für das gleiche:

var diff = +before- +after; 

Sie sagen, dass die Benutzer so etwas in all 3 Stunden teilnehmen müssen Der Unterschied zur letzten Anwesenheitszeit würde wie folgt berechnet:

var now = new Date(); 
var attTime = new Date(+now - (+now % (3*3600*1000))); 
var minutesLate = Math.round((+now - +attTime)/60000); 
+0

hi, entschuldigung für die Frage, aber wie schreibe ich das in meinen Codes? – JustAngelo

+0

Benennen Sie "now" in "currentTime" und "minutesLate" in "least" im letzten Codeblock um und fügen Sie sie in Ihrem Code direkt vor dem db-Aufruf ein. –

+0

hi es funktioniert nicht – JustAngelo