再Mysql, 或者 Mariadb 命令行里运行

select now();
+---------------------+
| now()               |
+---------------------+
| 2018-08-30 17:45:42 |
+---------------------+

js日期格式化函数,也可以得到类似的字符串

function timestampToTime(timestamp) {var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000var Y = date.getFullYear() + '-';var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';var D = date.getDate() + ' ';var h = date.getHours() + ':';var m = date.getMinutes() + ':';var s = date.getSeconds();return Y+M+D+h+m+s;}

但是类似“2018-08-30 17:45:42 “ 的时间,不够精确,会随着时区的不同而不同,全球有24个时区,有24个不同结果。
在chrome浏览器下 按F12,在控制台输入以下代码,在不同的时区运行以下js 代码得到的结果是不同的

+new Date("2018-08-30 17:45:42")

但是如果在不同的时区, 几乎同一时刻,运行JS代码,

+new Date()

得到的结果应该是相同的,即使不同也仅仅相差几秒(没有验证过,只是推测)。不会像“+new Date(“2018-08-30 17:45:42”)“ 的结果相差若干个小时。

在Mysql的命令行下,结果也是一样的,比如你有一个位于其他时区的linux服务器,然后这个服务器上安装mysql / mariadb,
用mysql账户登录mysql的命令环境,分别在本地和远程的mysql命令行运行这两个sql

select now();
select unix_timestamp();

然后比较一下本地结果和远程服务器结果。可以看到两者的select now(); 执行结果差异很大,所在时区对结果有很大的影响,而第二个sql的结果和所在时区没有关系。

所以,如果需要精确的控制时间, mysql的日期或者时间 字段 最好用bigint类型,不要用varchar类型,但用bigint类型有点影响数据库数据的直观性。但可以用mysql的函数解决

select from_unixtime(left(moment, length(moment)-3) ) from users;

moment是 users表的 bigint类型的字段。其长度为13, 对应于java的long 类型, javascript 代码 +new Date() 得到的结果也是13位的时间戳。
mysql 语句 select unix_timestamp(); 得到的结果是10 位的时间戳

意图把abc表中的moment字段,varchar类型,转为bigint类型,同时要避免数据丢失,如果直接用alter语句,结果就是“2018-02-03“ 变为数字 2018了。

update abc set moment=concat(moment, " 00:00:00");
update abc set moment=unix_timestamp(moment);
alter table abc change moment moment BIGINT COMMENT '创建时间';
update abc set moment=moment*1000;
mysql> select now(), sleep(3), now();
mysql> select sysdate(), sleep(3), sysdate();

引用: http://www.cnblogs.com/ggjucheng/p/3352280.html

Mysql 时间与时区相关推荐

  1. mysql时间正确时区错误_在app中的日期时间但在mysql [时区]错误

    问题:在应用程序服务器的正确时间,数据库中出错. 我在中国,时区是UTC + 8 我使用休眠.实体定义如下(语言:Scala) class CargoJournal { @Type(`type`=&q ...

  2. php mysql datetime时区,Django models通过DateTimeField保存到MySQL的时间的时区问题

    最近开始使用Django开发一些系统,在models.py中设置一些数据库表结构并给日期时间字段赋初值,不过在使用的过程中,遇到一点问题.问题是,我本来服务器使用的市区是"Asia/Shan ...

  3. MySQL时间慢了八个小时

    由于我公司另外一个运维小伙伴装系统的时候,勾选了UTC这个东东.(会导致慢八个小时的时间误差)结果才有了这一次逗比的经历. 1.系统时间慢八个小时,我发现不对劲后,就改回来了,可参考我的另外一篇博客. ...

  4. MYSQL和ORACLE时区设置比较

    MYSQL: 注意时区会影响TIMESTAMP的取值,默认为系统时区为TIME_ZONE=SYSTEM, 动态可以修改 set global  time_zone = '+8:00'; 然后 my.c ...

  5. node+Mysql,数据库时区显示正确,查询时却显示另一个时区

    问题: 1.node+Mysql,查看数据库时区显示正确,但查询时,显示的确是另一个时区的时间. 2.前端调用接口返回:startTime: "2020-03-04T17:53:55.000 ...

  6. MySQL + springboot修改时区的方法小结

    说明:这里总结记录修改mysql时区的三种方法. 方法一:通过mysql命令行模式下动态修改 1.1 查看mysql当前时间,当前时区 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  7. mysql支持的时区列表_mysql按天分组支持时区

    时区问题总是个比较麻烦的问题,客户端与服务器的时区不一致自然是理所当然的事情,而对于多台服务器或者分布式再或者炙手可热的云,时区不统一也很正常,而且也不需要统一,还好有个时间戳的概念,通过时间戳就可以 ...

  8. mysql 时间绝对值_datetime和timestamp--时间戳是绝对值,日期是相对值

    遇到的问题:系统时间与数据库时间不一致,系统时间是8:20,存到数据库里是0:20. 第一直觉是时区不同导致的. 先看一段代码: Java代码 public static void main(Stri ...

  9. mysql cst_一次 JDBC 与 MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时的排错经历...

    摘要 名为 CST 的时区是一个很混乱的时区,在与 MySQL 协商会话时区时,Java 会误以为是 CST -0500,而非 CST +0800. CST 时区 名为 CST 的时区是一个很混乱的时 ...

最新文章

  1. 数组-丢失的数字(哈希表法)
  2. 面试 10+公司,囊获 8 个Offer,面经全公开
  3. 程序员面试被问:公司遇难你愿意留下?网友:辉煌时升职吗
  4. python 返回字符串长度_Python在使用特殊字符时返回错误的字符串长度
  5. CodeForces - 976F Minimal k-covering
  6. .gitignore文件_Java小白入门,Git忽略文件.gitignore详解
  7. OpenCV 编译 - Unable to locate package libjasper-dev
  8. 慢连接攻击的原理和防范
  9. win10磁盘100官方解释_win10磁盘分区管理工具大变脸,现代磁盘管理工具喷薄而出...
  10. FreeCAD项目编译记录(1)
  11. 验证日期的正则表达式比较全面地验证
  12. 主题模型LDA理解与应用
  13. day10 强制类型转换(更新)
  14. Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码
  15. 解决mysql编码问题_解决mysql乱码问题
  16. html 跑马灯效果 源代码,跑马灯效果.html
  17. 这么有料的福利,你还不赶紧关注一波吗?(代码合集)
  18. 直播软件视频流怎样测试,手把手教你,如何用视频号直播推流!
  19. Dicom标签之(0020,0037) Image Orientation (Patient)
  20. 程序员学炒股(3) 个股和大盘的关系之二

热门文章

  1. 星软员工为四川地震遇难同胞默哀
  2. opencv人脸识别-海康网络摄像头
  3. graythresh
  4. 字节跳动-数据分析-实习面经
  5. 城市大数据发展评价指标体系
  6. 如何学习人工智能,学习AI的一般路线
  7. 不能打开到主机的连接, 在端口 1521: 连接失败
  8. linux egrep命令使用示例
  9. (批处理学习)句柄备份——个人见解之“>nul 3>nul“——记录学习过程(详细)
  10. 使用pyqtgraph模块进行PyQt绘图(2)