CREATE TRIGGER cus_info_tbl_tr AFTER INSERT ON cus_info_tbl
FOR EACH ROW
INSERT INTO summary_tbl ( `school_id`, `province_id`, `city_id`, `year`, `month`, `day`, `hour`, `minute`, `first_time`, `intdate` ) VALUES
( NEW.school_id,
NEW.province_id,
NEW.city_id,
YEAR( NEW.date_call ),
MONTH( NEW.date_call ),
DAYOFMONTH( NEW.date_call ),
HOUR( NEW.date_call ),
MINUTE( NEW.date_call ),
NEW.first_time,
UNIX_TIMESTAMP( NEW.date_call )+28800
);
看到了吧,在這個時間戳後面再加上8個小時的秒數就搞定了,呵呵。
不過我在google的時候注意到有很多兄弟都反應UNIX_TIMESTAMP和php中的mktime得到的值是一樣的,但是我這裡卻出現了問題,到現在也沒有能夠找到原因。
代碼如下 復制代碼UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
若無參數調用,則返回一個Unix timestamp ('1970-01-01 00:00:00' GMT 之後的秒數) 作為無符號整數。若用date 來調用UNIX_TIMESTAMP(),它會將參數值以'1970-01-01 00:00:00' GMT後的秒數的形式返回。date 可以是一個DATE 字符串、一個 DATETIME字符串、一個 TIMESTAMP或一個當地時間的YYMMDD 或YYYMMDD格式的數字。
查詢
mysql中UNIX_TIMESTAMP()函數的應用比較
應用:
SELECT(
UNIX_TIMESTAMP(endtime)-UNIX_TIMESTAMP(startime)
)/31536000year,id,name
FROMtestime
LIMIT0,30
這裡我們可以使用
FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format) 來格式化一個UNIX_TIMESTAMP()時間戳,它將返回'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS 格式值的 unix_timestamp參數表示,具體格式取決於該函數是否用在字符串中或是數字語境中。
若format 已經給出,則結果的格式是根據format 字符串而定。 format 可以包含同DATE_FORMAT() 函數輸入項列表中相同的說明符。
代碼如下 復制代碼mysql> Select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> Select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
mysql> Select FROM_UNIXTIME(UNIX_TIMESTAMP(),
-> '%Y %D %M %h:%i:%s %x');
-> '2003 6th August 06:22:58 2003'
php中:time()
time -- 返回當前的 Unix 時間戳
strtotime() 也可以轉換Unix 時間戳