MySQL에서 30 일 전과 같은 타임 스탬프를 어떻게 얻을 수 있습니까?
다음과 같은 것 :
select now() - 30
결과는 타임 스탬프를 반환해야합니다.
답변
DATE_SUB는 원하는 내용에 따라 일부 작업을 수행합니다.
mysql> SELECT DATE_SUB(NOW(), INTERVAL 30 day);
2009-06-07 21:55:09
mysql> SELECT TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day));
2009-06-07 21:55:09
mysql> SELECT UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day));
1244433347
답변
다음을 사용할 수 있습니다.
SELECT unix_timestamp(now()) - unix_timestamp(maketime(_,_,_));
유닉스 타임 스탬프 또는 :
SELECT addtime(now(),maketime(_,_,_));
표준 MySQL 날짜 형식의 경우.
답변
타임 스탬프에서 음수 시간이 필요한 경우
mysql>SELECT now( ) , FROM_UNIXTIME( 1364814799 ) , HOUR( TIMEDIFF( now( ) , FROM_UNIXTIME( 1364814799 ) ) ) , TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) )
2013-06-19 22:44:15 2013-04-01 14:13:19 1904 -1904
이
TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) )
x> this_timestamp를 사용해야하는 경우 음수 및 양수 값을 반환합니다.
하지만 이것은
HOUR( TIMEDIFF( now() , FROM_UNIXTIME( 1364814799 ) ) )
긍정적 인 시간 만 반환합니다.