MySQL时间字段TIMESTAMP和DATETIME

news/2024/11/16 20:38:37 标签: mysql, 数据库, 时区
SELECT @@global.time_zone, @@session.time_zone;

查询数据库的全局时区和当前会话的时区信息,一般如果使用navicat进行连接,没有显示指定时区信息,会默认使用system_time_zone。
可以使用

SET time_zone = '+08:00';
SELECT @@global.time_zone, @@session.time_zone;

设置当前会话的时区信息。

总结就是TIMESTAMP会根据会话连接的时区信息进行变化,也就是如果会话信息是东八区就变成东八区,如果是UTC+2就是UTC+2。而DATETIME是不会变化的。如下图
在这里插入图片描述
在这里插入图片描述
现在把当前会话的时区信息设置为东六区,SET time_zone = ‘+06:00’;再次查询如下
在这里插入图片描述
可以明显看到TIMESTAMP是在进行改变的,而DATETIME始终保持不变。如果业务是在跨时区的地方,尤其是有冬令时切换的地方,TIMESTAMP会自动变化,而DATETIME不会变化,前提是使用系统时区

这样的话,问题来了,数据库使用的是默认时区,因为历史原因无法改变,只能代码手动指定时区,防止时区切换了。

前端的组件一般可以根据客户端的时间来自动展示,例如Moment.js 和 Day.js,这两个区别功能上差不多,只是包的大小不一样,dayjs可能更常用于H5手机端。那么后端传给前端的参数可以是Long的时间戳或者ISO 8601 格式的字符串,注意是ISO 8601 ,不要和ISO 8859-1搞混,ISO 8601 是2004-05-03T17:30:08+08:00或者是2021-11-30T12:00:00Z,ISO 8859-1一般指的是编码。

在实际开发中,ISO 8601 格式通常是更推荐的方式,因为它便于展示,且默认包含时区信息,减少了时区相关的错误处理。


http://www.niftyadmin.cn/n/5754595.html

相关文章

Cpolar 内网穿透使用

Cpolar登录地址:cpolar - secure introspectable tunnels to localhost 使用固定公网TCP连接ssh ssh -p端口号 用户名公网地址

Linux---常用shell脚本

目录 一.网络服务 开启network服务 网口IP配置 聚合口配置 前言 秋招拿到了科大讯飞的offer,可是由于某些原因无法完成三方签署,心情还是比较失落的,或许写一篇技术博客,活跃一下大脑思维也是一种不错的放松方式。 一.网络服务 …

面试篇-项目管理

⼀、构建管理 项目为什么选择Maven构建? 选择Maven进行项目构建有以下几个主要原因: 1. 依赖管理:Maven 提供了强大的依赖管理功能,可以自动下载项目所需的第三方库和依赖,并且可以管理这些依赖的版本、范围等信息。这简化了项…

Latex表格中多行合并后将内容居中显示

Latex表格中多行合并后将内容居中显示 目标效果Latex代码ProblemLaTeX Code:**Explanation:**Resulting Output: 目标效果 Latex代码 \begin{table}[h]\centering\caption{Example Table with Merged Cells}\begin{tabular}{|c|c|c|c|}\hline\textbf{Row 1, Col 1} & \mul…

STL之vecor的使用(超详解)

目录 1. C/C中的数组 1.1. C语言中的数组 1.2. C中的数组 2. vector的接口 2.1. vector的迭代器 2.2. vector的初始化与销毁 2.3. vector的容量操作 2.4. vector的访问操作 2.5. vector的修改操作 💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏…

卷积神经网络 (CNN)

代码功能 网络结构: 卷积层: 两个卷积层,每个卷积层后接 ReLU 激活函数。 最大池化层用于降低维度。 全连接层: 使用一个隐藏层(128 个神经元)和一个输出层(10 类分类任务)。 数据集…

学习用 Javascript、HTML、CSS 以及 Node.js 开发一个 uTools 插件,学习计划及其周期

希望学习 Javascript、HTML、CSS 以及 Node.js 开发一个 uTools 插件,学习时间取决于你的目标深度和现有的编程基础。以下是一个学习计划和时间估算: 1. 学习目标 HTML:理解网页的基本结构(标签、属性、布局)。CSS&am…

SpringBoot+Vue3开发会议管理系统

1 项目介绍 会议管理系统,简化公司内会议方面的流程,提供便捷。实现对会议室的管理、会议的管理、会议预约的管理,三大主流程模块。 系统分为三种角色,分别是员工、管理员和超级管理员。 员工角色功能:查看会议室占…