mysql函数unix_timestamp如何处理1970.1.1以前的数据?
高洛峰
高洛峰 2017-04-17 16:10:09
0
2
705
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
Peter_Zhu

那就没办法使用TIMESTAMP了
可以考虑使用DATETIME类型

DATE范围'1000-01-01' to '9999-12-31'

DATETIME'1000-01-01 00:00:00' to '9999-12-31 23:59:59'

TIMESTAMP '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC

PHPzhong
-- N秒前
SELECT TIMESTAMPADD(SECOND,-3600,'1970-01-01 00:00:01')
-- >> 1969-12-31 23:00:01

-- 2天前
SELECT TIMESTAMPADD(DAY,-2,'1970-01-01 00:00:01')
-- >> 1969-12-30 00:00:01

# FRAC_SECOND。表示间隔是毫秒
# SECOND。秒
# MINUTE。分钟
# HOUR。小时
# DAY。天
# WEEK。星期
# MONTH。月
# QUARTER。季度
# YEAR。年

确认你存的负数是相对于 1970-01-01 00:00:01 的, 如此算并没问题

select TIMESTAMPADD(FRAC_SECOND, table.create_time, '1970-01-01 00:00:01') as `create_time` from table
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!