99 W MySQL, w jaki sposób mógłbym uzyskać sygnaturę czasową sprzed, powiedzmy, 30 dni? Coś jak: select now() - 30 Wynik powinien zwrócić znacznik czasu. mysql Ben Noland źródło Myślę, że jesteś po DATE_SUB . joeslice 1 Jaki format sygnatury czasowej? Jest format, który znają osoby pracujące z funkcjami MySQL DATE, i istnieje znacznik czasu w stylu UNIX. joebert Szukam sygnatury czasowej MySQL. Ben Noland Odpowiedzi: 181 DATE_SUB wykona część tego w zależności od tego, czego chcesz 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 Justin Giboney źródło 11 Czym się różni od pierwszego i drugiego zapytania? Codler 5 wygląda na to, że (v1) DATE_SUB zwróci DATETIME lub STRING w zależności od danych wejściowych. TIMESTAMP (v2) wymusza na nim typ TIMESTAMP. dev.mysql.com/doc/refman/5.1/en/… jsh 3 Możesz użyć: SELECT unix_timestamp(now()) - unix_timestamp(maketime(_,_,_)); Dla znaczników czasu unix lub: SELECT addtime(now(),maketime(_,_,_)); Standardowy format daty MySQL. źródło 0 Jeśli potrzebujesz ujemnych godzin od znacznika czasu 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 to TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) ) zwróci wartości ujemne i dodatnie, jeśli musisz użyć x> this_timestamp ale to HOUR( TIMEDIFF( now() , FROM_UNIXTIME( 1364814799 ) ) ) zwróci tylko dodatnie godziny Petre Sosa źródło
181 DATE_SUB wykona część tego w zależności od tego, czego chcesz 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 Justin Giboney źródło 11 Czym się różni od pierwszego i drugiego zapytania? Codler 5 wygląda na to, że (v1) DATE_SUB zwróci DATETIME lub STRING w zależności od danych wejściowych. TIMESTAMP (v2) wymusza na nim typ TIMESTAMP. dev.mysql.com/doc/refman/5.1/en/… jsh 3 Możesz użyć: SELECT unix_timestamp(now()) - unix_timestamp(maketime(_,_,_)); Dla znaczników czasu unix lub: SELECT addtime(now(),maketime(_,_,_)); Standardowy format daty MySQL. źródło 0 Jeśli potrzebujesz ujemnych godzin od znacznika czasu 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 to TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) ) zwróci wartości ujemne i dodatnie, jeśli musisz użyć x> this_timestamp ale to HOUR( TIMEDIFF( now() , FROM_UNIXTIME( 1364814799 ) ) ) zwróci tylko dodatnie godziny Petre Sosa źródło
3 Możesz użyć: SELECT unix_timestamp(now()) - unix_timestamp(maketime(_,_,_)); Dla znaczników czasu unix lub: SELECT addtime(now(),maketime(_,_,_)); Standardowy format daty MySQL. źródło
0 Jeśli potrzebujesz ujemnych godzin od znacznika czasu 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 to TIMESTAMPDIFF( HOUR , now( ) , FROM_UNIXTIME( 1364814799 ) ) zwróci wartości ujemne i dodatnie, jeśli musisz użyć x> this_timestamp ale to HOUR( TIMEDIFF( now() , FROM_UNIXTIME( 1364814799 ) ) ) zwróci tylko dodatnie godziny Petre Sosa źródło
Odpowiedzi:
DATE_SUB wykona część tego w zależności od tego, czego chcesz
źródło
Możesz użyć:
Dla znaczników czasu unix lub:
Standardowy format daty MySQL.
źródło
Jeśli potrzebujesz ujemnych godzin od znacznika czasu
to
zwróci wartości ujemne i dodatnie, jeśli musisz użyć x> this_timestamp
ale to
zwróci tylko dodatnie godziny
źródło