使用 mysql 提取数据时,遇到一个问题:负时间戳无法通过FROM_UNIXTIME 方法转化成正常的日期:

FROM_UNIXTIME(-2641363543)

Null

这个时间戳对应的正确的日期其实是: 1886-04-20 00:00:00,我搜索了一下,有人建议采用加减的方式计算负值时间戳的日期:

DATE_ADD(FROM_UNIXTIME(0), INTERVAL -2641363543 SECOND)

1886-04-19 23:54:17

但转化出来的,和正确值有几分钟差距.我找了一些网页端的时间戳转换工具,他们都可以转换成正确值,我就不知道是怎么实现的,另外上面这种转化逻辑的问题是在哪呢?

回答

0代表是1970年1月1日0时0分0秒

可得:1969年12月31日23时59分0秒的值应该是:-60

也就是说:以0秒结尾的时间,时间戳必然也以0结尾。

而-2641363543以3结尾,必然不对应

看完评论后,又找了下相关的信息,简单总结两句:

先看在线时间转换两张图:

有点意思,两个时间戳差1秒,但是转换后的时间差了几分钟。

相关的资料显示: 在1927年12月31日23:59:59时,往后面的一秒应该是1928年1月1日 0:0:0,但是这个时间被往后调整了5分52秒,而成了,1927年12月31日的,23:54:08,于是,完成了352秒的穿越。

相关资料也显示,在某些(JAVA8并不适用)的JAVA版本中,两个相关1秒的时间实际上却在时间戳上相差了353秒。

但无论是对1927年进行了调整还是对1900年进行了调整,可以确认的是在历史上这352秒的穿越是存在的。如果你使用编程语言考虑到了这个穿越的因素,则会出现你遇到的上述问题。

至于为什么要如此调整,有人猜原因是:为了将上海的时间与北京时间相统一,所以上海时间与北京时间差的就是这352秒。

但这个好像并占不住脚,北京与上海的经度差在5度,每1度差4分钟,5度应该是20分钟,大概为1200秒。

时区问题,谷歌浏览器时间是1901年前的时区按+805而不是+800,因此时间戳-2641363543对应 1886-04-20 00:00:00 的时区是+805。

负数 mysql 时间戳_【mysql】负数时间戳日期转换问题相关推荐

  1. java unix 时间戳_「unix时间戳」Unix时间戳和Java中的时间戳的区别 - seo实验室

    unix时间戳 前言 最近在使用阿里的日志服务时,遇到了一些Timestamp的坑,所以特意做了了解并整理了一下.在这之前首先得介绍一下Unix时间戳:unix时间戳是从1970年1月1日(UTC/G ...

  2. mysql 中国时间转成美国时间_中国与美国日期转换

    //修改时间 public String getNextDay(Date date) { // 获取当天日期 SimpleDateFormat sdf = new SimpleDateFormat(& ...

  3. 微信小程序时间加法_微信小程序日期转换、比较、加减

    //日期转时间戳 functiongetUnixTime(dateStr){var newstr = dateStr.replace(/-/g,'/');var date = newDate(news ...

  4. sas数字转日期格式_[转载]SAS中日期转换全攻略

    以下的内容,要感谢 webgu 在人大论坛上的亲情奉献. 在SAS处理中,特别是在多个数据集合并过程中,我们经常要遇到 日期格式不匹配的情况,但是 日期 又是一个非常关键的 匹配关键词,所以有必要 将 ...

  5. java 日期转换视频_自定义转换器实现日期转换_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...

    SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring MVC 分离了控制器.模型对象.分派器以及处理程序对象 ...

  6. js 将日期转换成时间戳

    接上一篇文章,用到了对时间的排序,来看下怎么把日期转换成时间戳吧! 一.日期转换成时间戳 js字符串转化成时间戳可以使用自带函数Date(要转化的时间字符串)先转化为Date类型,之后再将Date类型 ...

  7. mysql计算多少天后的日期_数据库 - mysql 计算某个时间,多少天后,多少个月后时间戳...

    数据库设计(一): 数据库设计步骤:  需求分析-------->  逻辑设计 ------------> 物理设计----------->维护优化. [1]需求分析:分析需要存储的 ...

  8. mysql时间戳和日期转换

    时间戳转日期 mysql有自带的函数可以直接转换,函数是FROM_UNIXTIME 数据表中 create_time 存储的是时间戳,如 1429063399 mysql的执行语句:(日期合格可以自己 ...

  9. php mysql日期戳转时间戳_php日期转时间戳,指定日期转换成时间戳

    写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但 是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么 ...

最新文章

  1. android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
  2. x722网卡支持百兆吗_同样是无线网卡,为什么要选千兆的?
  3. 转载---SQL Server XML基础学习2之--FOR XML AUTO/RAW
  4. linux 下使用 tc 模拟网络延迟和丢包
  5. python中列表实现自加减元素_python初学者知识整合
  6. JavaScrip入门-变量计算%函数
  7. 【bzoj5072】[Lydsy十月月赛]小A的树 树形背包dp
  8. 【是程序猿就干了这碗心灵鸡汤】我们这一代人的困惑
  9. echarts x轴 名称_图例|西门子S7-1200 PLC的轴组态与点动控制详解
  10. Latex错误:xxx PDF objects out of 1000 (max. 8388607) ……
  11. requirejs加载layerdate.js遇到的各种坑
  12. NVIDIA Jetson TK1学习与开发(二):入门指导
  13. 查看android端BKS类型的证书库
  14. 如何推广企业微信号?企业进行公众号的推广有哪些方法?
  15. homelede软路由设置方法_二级lede软路由设置方法,lede设置软路由网卡
  16. 算法设计与分析: 5-22 魔方(Rubik's Cube)问题
  17. 晶体硅太阳能电池产线性能跟踪项目
  18. 给女朋友写的h5(移动端)小游戏,超简单
  19. 微信小程序之图书借阅系统(含源码+论文+答辩PPT等)
  20. 秋冬巧护发,不让落发如落叶

热门文章

  1. cisco路由器忘记密码恢复
  2. 如何在新环境接手项目?(上)【洞见2】
  3. 仿新浪抢工长装修招标网站源码老工长装修网源码装修网站源码
  4. 面向订单生产型电子制造企业,如何快速响应客户?
  5. Mysql的远程连接设置
  6. 3DS MAX 学习笔记 一(对齐工具)
  7. 快来抄吧:Project Plan Template 项目计划模板
  8. 海量之道之弱联网优化
  9. 每日刷题记录(十六)
  10. 一个菜鸡的HTML标签备忘录【点进来可能瞎眼】