91 votes

MySQL obtenir la date de n jours il ya comme un timestamp

Dans MySQL, comment pourrais-je obtenir un timestamp à partir de, disons, 30 jours?

Quelque chose comme:

select now() - 30

Le résultat doit retourner un timestamp.

173voto

Justin Giboney Points 1729

DATE_SUB fera en partie en fonction de ce que vous voulez

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

8voto

joeslice Points 2769

Je pense que vous êtes après DATE_SUB.

0voto

Petre Sosa Points 633

Si vous avez besoin d'négatif heures de timestamp

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

cette

TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) ) 

sera de retour les valeurs positives et négatives, si vous avez besoin d'utiliser x>this_timestamp

mais ce

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

sera de retour que positif, les heures

-1voto

Bharat Points 86

sélectionnez (now()- INTERVAL de 45 JOURS) COMME le Temps;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X