Je stocke la dernière connexion dans MySQL, dans le type datetime
-. Lorsque les utilisateurs se connectent, je souhaite connaître la différence entre l'heure de la dernière connexion et l'heure actuelle (obtenue à l'aide de NOW()
).
Comment puis-je le calculer?
USE TIMESTAMPDIFF
Fonction MySQL. Par exemple, vous pouvez utiliser:
SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18')
Dans votre cas, le troisième paramètre de la fonction TIMSTAMPDIFF
serait le temps de connexion actuel (NOW()
). Le deuxième paramètre serait la dernière heure de connexion, qui est déjà dans la base de données.
mes deux cents sur la logique:
la syntaxe est "ancienne date" -: "nouvelle date", donc:
SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:00', '2018-11-15 15:00:30')
donne 30,
SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:55', '2018-11-15 15:00:15')
donne: - 40
Si vos dates de début et de fin correspondent à des jours différents, utilisez TIMEDIFF.
SELECT TIMEDIFF(datetime1,datetime2)
si datetime1> datetime2 alors
SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")
donne: 24:01:00
et datetime1 <datetime2
SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")
donne: -24: 01: 00