[mysql] MySQL에서 두 날짜 시간의 차이 계산

MySQL의 마지막 로그인 시간을 datetime-type filed로 저장하고 있습니다. 사용자가 로그인 할 때 마지막 로그인 시간과 현재 시간 (사용하는 시간)의 차이를 얻고 싶습니다 NOW().

어떻게 계산할 수 있습니까?



답변

TIMESTAMPDIFFMySQL 기능을 사용하십시오 . 예를 들어 다음을 사용할 수 있습니다.

SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18')

귀하의 경우, TIMSTAMPDIFF기능 의 세 번째 매개 변수 는 현재 로그인 시간 ( NOW())입니다. 두 번째 매개 변수는 데이터베이스에 이미있는 마지막 로그인 시간입니다.


답변

논리에 관한 나의 2 센트 :

구문은 “old date”-: “new date”입니다.

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:00', '2018-11-15 15:00:30')

30을 준다.

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:55', '2018-11-15 15:00:15')

제공합니다 : -40


답변

시작 날짜와 종료 날짜 시간이 다른 날인 경우 TIMEDIFF를 사용하십시오.

SELECT TIMEDIFF(datetime1,datetime2)

datetime1> datetime2이면

SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")

제공 : 24:01:00

및 datetime1 <datetime2

SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")

제공 : -24 : 01 : 00


답변