首页 > 代码库 > MySQL中from_unixtime与unix_timestamp差别

MySQL中from_unixtime与unix_timestamp差别

查阅官档:

 FROM_UNIXTIME(unix_timestamp)FROM_UNIXTIME(unix_timestamp,format)

Returns a representation of the unix_timestamp argument as a value in ‘YYYY-MM-DD HH:MM:SS‘ orYYYYMMDDHHMMSS format, depending on whether the function is used in a string or numeric context. The value is expressed in the current time zone. unix_timestamp is an internal timestamp value such as is produced by theUNIX_TIMESTAMP() function.

说明from_unixtime只是按照当前的时区,已指定的形式返回unix_timestamp值。

 UNIX_TIMESTAMP()UNIX_TIMESTAMP(date)

If called with no argument, returns a Unix timestamp (seconds since ‘1970-01-01 00:00:00‘ UTC) as an unsigned integer. If UNIX_TIMESTAMP() is called with a date argument, it returns the value of the argument as seconds since ‘1970-01-01 00:00:00‘ UTC. date may be a DATE string, a DATETIME string, a TIMESTAMP, or a number in the format YYMMDD or YYYYMMDD. The server interprets date as a value in the current time zone and converts it to an internal value in UTC

不同点在与,unix_timestamp会受到本地时区的影响,有可能2个不同的timstamp对应一个unixtimestamp,而from_unixtime则是一一对应