mysql怎么获取时间戳的函数UNIX_TIMESTAMP
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) |
这里我们可以使用
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 时间戳