programing

MySQL이 n일 전 날짜를 타임스탬프로 가져옵니다.

projobs 2022. 10. 1. 14:37
반응형

MySQL이 n일 전 날짜를 타임스탬프로 가져옵니다.

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(_,_,_));

unix 타임스탬프의 경우 또는:

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 _ paraments 를 사용할 필요가 있는 경우는, 음의 값과 양의 값이 반환됩니다.

근데 이거

HOUR( TIMEDIFF( now() , FROM_UNIXTIME( 1364814799 ) ) )

긍정(시간)만 반환됩니다.

언급URL : https://stackoverflow.com/questions/1095831/mysql-get-the-date-n-days-ago-as-a-timestamp

반응형