项目开发中的时区问题汇总

简介: 项目开发中的时区问题汇总

前言

背景:在操作日期时经常会出现比数据库多或少8小时的情况
原因:不同软件或系统的默认时区不一致导致的

几个时间名词:

  1. GMT:格林威治标准时间
  2. UTC:世界协调时间
  3. DST:夏日节约时间
  4. CST:中国标准时间
  5. CET:欧盟时间

其中GMT时间可以近似认为和UTC时间是相等的,但从精度上来说UTC时间更精确。其误差值必须保持在0.9秒以内


CST= GMT + 8 =UTC + 8

CET

1、欧洲中部时间(英语:CentralEuropeanTime,CET)是比世界标准时间(UTC)早一个小时的时区名称之一。

2、冬季时间为UTC+1(与北京时间时差-7小时),夏令时为UTC+2(与北京时间时差-6小时)

1.ES的当前时区

默认存储时间的格式是UTC时间,如果我们查询es然后获取时间日期默认的数据,会发现跟当前的时间差8个小时,这其实是正常的,因为es默认存储是用的UTC时间,所以我们需要做的就是读取long型时间戳,然后重新格式化成下面的时间戳,即可获得正确的时间 :

yyyy-MM-dd HH:mm:ss

2、MySQL 当前时区

查看mysql当前时间,当前时区

show variables like "%time_zone%";

MySQL中datetime和timestamp的区别及使用

1.对于timestamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回;而对于datetime,不做任何改变,基本上是原样输入和输出。

2.datetime占用8个字节,timestamp占用4个字节。timestamp利用率更高。

3.二者范围不一样。timestamp范围:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’; datetime范围:’1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。原因是,timestamp占用4字节,能表示最大的时间毫秒为2的31次方减1,也就是2147483647,换成时间刚好是2038-01-19 03:14:07.999999。

3、Linux当前时区

查看当前时区

命令 : "date -R"

Java8中基本只能通过当前位置所在城市名来获取时区

ZoneId defaultZone = ZoneId.systemDefault(); System.out.println(defaultZone);


目录
相关文章
|
前端开发
前端Vue3使用Moment Timezone处理不同时区时间
认识基本时间表示字符,UTC,GMT等,用 moment-timezone 这个插件来获取时区,同时获取带时区的时间字段,以便后续业务处理。
1330 1
|
8月前
|
运维 监控 API
《SaaS应用技术攻坚:从定制化到运维的六大核心实践拆解》
本文结合项目管理SaaS开发实践,拆解六大核心技术实践:迭代时按租户规模分层灰度发布,同步配置并设自动回滚保障稳定;租户隔离采用“逻辑+物理”混合方案,结合数据中台解决跨租户统计难题;基于K8s构建租户级弹性伸缩,按访问特征分组并优化阶梯策略平衡性能成本;以插件化架构处理定制需求,通过标准接口与扩展表实现标准化与个性化平衡;从索引、SQL、分库分表三维度优化数据库性能;构建租户级运维监控体系,聚焦业务、系统、数据指标实现精准告警与快速排查。
425 3
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
18206 2
HTTP和HTTPS的区别有哪些?
|
敏捷开发 运维 自然语言处理
帮助学生掌握企业开源数字化工具,就业简历必定脱颖而出
开源工具正成为就业竞争中的关键优势。企业数字化转型注重“降本增效”,开源工具因低成本、高灵活性备受青睐。掌握WordPress建站、Magento电商运营、ERPNext/Odoo资源管理、GitLab协作、ownCloud私有云及Websoft9应用部署等六大工具,不仅能提升技术广度,还能通过项目实践积累行业经验。学习路径从基础入门到场景深化,将技能转化为业务成果,为简历“镀金”。选择垂直领域,构建作品集,参与企业级项目,抢占就业先机。工具的核心价值在于解决实际业务问题,助力快速创造价值。
288 2
|
存储 算法 安全
AVB数据解析:Android verified boot 2.0 vbmeta 数据结构解析
AVB数据解析:Android verified boot 2.0 vbmeta 数据结构解析
2556 0
|
设计模式 NoSQL Go
Redis 实现高效任务队列:异步队列与延迟队列详解
本文介绍了如何使用 Redis 实现异步队列和延迟队列。通过 Go 语言的 `github.com/go-redis/redis` 客户端,详细讲解了 Redis 客户端的初始化、异步队列的实现和测试、以及延迟队列的实现和测试。文章从基础连接开始,逐步构建了完整的队列系统,帮助读者更好地理解和应用这些概念,提升系统的响应速度和性能。
415 6
|
SQL 存储 数据库连接
SqlAlchemy 2.0 中文文档(二十二)(1)
SqlAlchemy 2.0 中文文档(二十二)
368 2
|
搜索推荐 开发者 SEO
CSDN 大规模抓取 GitHub 上的项目到 GitCode,伪造开发者主页引公愤
后续影响和发展方向 GitCode是CSDN开发的一个代码托管平台,为了快速获得搜索引擎流量,CSDN采用了惯用的手段,直接搬运大量内容进行填充。接下来,他们很可能会通过SEO农场来污染搜索引擎,以获得更多的流量。这种操作不仅对开发者极不尊重,也对整个互联网环境造成了严重的污染。 写在最后 GitCode 已经出来有挺长时间了,期间没闹出过什么问题。近期,不知道 GitCode 内部的哪位领导脑子被驴踢了,做出搬运 GitHub 的仓库来丰富自己平台内容的决定。 这种无视开发者权益、恶意搬运项目的行为,必将受到开发者社区的强烈谴责,尊重开发者的劳动成果,维护开源社区的良好氛围。开发者们也应团结
1080 1
|
监控 数据可视化 算法
基于朴素贝叶斯算法的微博舆情监控系统,flask后端,可视化丰富
本文介绍了一个基于朴素贝叶斯算法和Python技术栈的微博舆情监控系统,该系统使用Flask作为后端框架,通过数据爬取、清洗、情感分析和可视化等手段,为用户提供丰富的舆情分析和监测功能。
617 0

热门文章

最新文章