理一理Mysql日期

news2025/3/21 3:00:09

在 MySQL 数据库中,关于日期和时间的类型主要有以下几种:

1. **DATE**: 仅存储日期部分,格式为 `YYYY-MM-DD`,例如 `2023-10-31`。

2. **TIME**: 仅存储时间部分,格式为 `HH:MM:SS`,例如 `14:30:00`。

3. **DATETIME**: 存储日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`,例如 `2023-10-31 14:30:00`。

4. **TIMESTAMP**: 存储日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`,并且会根据时区进行转换,通常用于记录数据的创建和修改时间。

5. **YEAR**: 存储年份,格式为 `YYYY`,例如 `2023`。

这些类型可以根据具体需求选择使用,以便在数据库中存储和处理日期和时间数据。

在 MySQL 中,`TIMESTAMP` 类型有一些限制和注意事项:

1. **时区影响**:`TIMESTAMP` 会根据服务器的时区进行存储和检索,因此在不同的时区环境中可能会导致时间不一致的问题。

2. **自动初始化和更新**:`TIMESTAMP` 列可以自动初始化为当前时间或在记录更新时自动更新为当前时间。这在某些情况下很有用,但也可能导致意外的行为。

3. **范围限制**:`TIMESTAMP` 的有效范围是 `1970-01-01 00:00:01` UTC 到 `2038-01-19 03:14:07` UTC。如果需要存储超出此范围的日期和时间,建议使用 `DATETIME` 类型。

4. **默认值限制**:在 MySQL 5.6 之前,`TIMESTAMP` 列必须有一个默认值,通常是 `CURRENT_TIMESTAMP`。在 MySQL 5.6 及之后的版本中,这个限制有所放宽。

5. **存储大小**:`TIMESTAMP` 占用 4 字节的存储空间,而 `DATETIME` 占用 8 字节。

这些限制在使用 `TIMESTAMP` 类型时需要注意,以确保数据的正确性和一致性。

如果保存的时间是 1900-01-01 00:00:00, 

timestamp 类型是保存不了的

一般使用DATETIME类型就可以了。包含了 日期和时间,如果有些场景只需要日期,比如按天维度的,那么用DATE来存储。

建议不使用 timestamp类型,因为存储范围有限。

所以,首先 DATETIME,其次根据需要选 DATE

再JDK中,提供了三种日期:

1. 

java.util.Date

util 包下的Date,就是 包含日期和时间,不论数据库中是什么类型。

例如:

`Mon Jan 01 00:00:00 CST 1900` 这种格式是 Java 中 `Date` 类的默认字符串表示形式。它包含以下部分:

1. **星期**:`Mon` 表示星期一。
2. **月份**:`Jan` 表示一月。
3. **日期**:`01` 表示1号。
4. **时间**:`00:00:00` 表示午夜零点。
5. **时区**:`CST` 表示中国标准时间(China Standard Time)。
6. **年份**:`1900` 表示年份1900年。

这种格式是通过 `Date` 类的 `toString()` 方法生成的。

对于表结构中:

1 如果的Date ,转为util下的Date时, 时间部分是 00:00:00

2. 如果是Time,转为util下的Date时,日期部分是 1970-01-01

3. 如果是DATETIME 或者 TIMESTAMP,转为util下的Date时,没问题,包含日期 时间

2.

java.sql.Date

java.sql.Time

java.sql.Timestamp

sql 包下的Date,基本和表里的对应

Date 只包含日期

Time只包含时间

Timestamp 包含日期和时间

3.

java.time.LocalDate

java.time.LocalTime

java.time.LocalDateTime

time包下的,和 表里的基本也是对应的

如果表中的字段类型是 varchar,存储的是时间,也可以用上面三类来就收。

只是,varchar 存储的 必须是正确的时间格式才行。如果存了其他非日期,会出现类型转换异常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深圳南柯电子|医疗设备EMC检测测试整改:保障患者安全的第一步

在医疗设备领域,电磁兼容性(EMC)是确保设备安全、有效运行的关键指标。随着医疗技术的飞速发展,医疗设备日益复杂,其电磁环境也愈发复杂多变。EMC检测测试及整改因此成为医疗设备研发、生产、销售过程中不可或缺的一环…

【笔记】计算机网络——数据链路层

概述 链路是从一个结点到相邻结点的物理路线,数据链路则是在链路的基础上增加了一些必要的硬件和软件实现 数据链路层位于物理层和网络层之间,它的核心任务是在直接相连的节点(如相邻的交换机,路由器)之间提供可靠且…

STM32-汇编

学习arm汇编的主要目的是为了编写arm启动代码,启动代码启动以后,引导程序到c语言环境下运行。换句话说启动代码的目的是为了在处理器复位以后搭建c语言最基本的需求。因此启动代码的主要任务有: 初始化异常向量表; 初始化各工作模…

利用通义灵码AI在VS Code中快速开发扫雷游戏:Qwen2.5-Max模型的应用实例

引言 随着人工智能技术的不断进步,开发过程中的自动化程度也在逐步提高。阿里云推出的通义灵码AI程序员,作为一款创新型的智能编程助手,现已全面上线并兼容VS Code、JetBrains IDEs等多种开发环境。本文将介绍如何利用最新的Qwen2.5-Max模型…

202503执行jmeter压测数据库(ScyllaDB,redis,lindorm,Mysql)

一、Mysql 1 、 准备MySQL 连接内容 2 、 下载连接jar包 准备 mysql-connector-java-5.1.49.jar 放到 D:\apache-jmeter-5.6.3\lib\ext 目录下面; 3 、 启动jmeter ,配置脚本 添加线程组---》JDBC Connection Configuration---》JDBC Request---》查看结果树。 1)测…

以太网 MAC 帧格式

文章目录 以太网 MAC 帧格式以太网帧间隔参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。 以太网 MAC 帧格式 以太网技术的正式标准是 IEEE 802.3,它规定了以太网传输数据的帧结…

【PCB工艺】基础:电子元器件

电子原理图(Schematic Diagram)是电路设计的基础,理解电子元器件和集成电路(IC)的作用,是画好原理图的关键。 本专栏将系统讲解 电子元器件分类、常见 IC、电路设计技巧,帮助你快速掌握电子电路…

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展,WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术,以其低延迟、跨平台兼容性和强大的音视频处理能力,成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…

前端样式库推广——TailwindCss

官方网址: https://tailwindcss.com/docs/installation/using-vite 中文官方文档:https://www.tailwindcss.cn/ github地址:tailwindcss 正在使用tailwindcss的网站:https://tailwindcss.com/showcase 一看github,竟然…

SpringBoot 第二课(Ⅰ) 整合springmvc(详解)

目录 一、SpringBoot对静态资源的映射规则 1. WebJars 资源访问 2. 静态资源访问 3. 欢迎页配置 二、SpringBoot整合springmvc 概述 Spring MVC组件的自动配置 中央转发器(DispatcherServlet) 控制器(Controller) 视图解…

OpenHarmony 开源鸿蒙北向开发——3.配置SDK

安装、配置完成之后我们就要配置SDK。 我们创建工程后,点击右上角设置 进入设置 进入OpenHarmony SDK,选择编辑 这里配置一下SDK安装位置 点击完成 这里我们API版本勾选第一个即可 确认安装 勾选接受 这里要等一会 安装完成后,点击完成

vulhub Matrix-Breakout

1.下载靶机,打开靶机和kali虚拟机 2.查询kali和靶机ip 3.浏览器访问 访问81端口有登陆界面 4.扫描敏感目录 kali dirb 扫描 一一访问 robot.txt提示我们继续找找,可能是因为我们的字典太小了,我们换个扫描器换个字典试下,利用kali自带的最大…

Unity3D开发AI桌面精灵/宠物系列 【二】 语音唤醒 ivw 的两种方式-Windows本地或第三方讯飞等

Unity3D 交互式AI桌面宠物开发系列【二】ivw 语音唤醒 该系列主要介绍怎么制作AI桌面宠物的流程,我会从项目开始创建初期到最终可以和AI宠物进行交互为止,项目已经开发完成,我会仔细梳理一下流程,分步讲解。 这篇文章主要讲有关于…

三月九次前端面试复盘:当场景题成为通关密钥

三月初集中面了包括字节、美团、滴滴在内的9家公司,经历7场技术面2场Leader面后,发现如今的面试逻辑已发生根本转变。这里分享真实经历与题目,供近期求职者参考。 一、面试形态变化:从理论背诵到实战推演 1. 八股文边缘化&#…

C++输入输出流第一弹:标准输入输出流 详解(带测试代码)

目录 C输入输出流 流的四种状态(重点) 标准输入输出流 标准输入流 逗号表达式 1. 逗号表达式的基本规则 示例 2. 图片中的代码分析 关键点解析 3. 常见误区 误区 1:逗号表达式等同于逻辑与 && 误区 2:忽略输入…

鸿蒙NEXT项目实战-百得知识库05

代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)

文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明&#xff0c;告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素&#xff0c;设置文档语言为英语 --><head> <!-- 头部区域&am…

vue 自制列表,循环滚动

需求人员表示&#xff0c;超过高度的表格内容需要滚动展示&#xff0c;所以效果图如下&#xff1a; 自定义列表样式&#xff0c;主要是通过flex布局&#xff0c;控制 类th 与 类td 的宽度保持一致&#xff0c;标签结构还是参考了table的结构&#xff0c;由thead与tbody包裹tr再…

Windows主机、虚拟机Ubuntu、开发板,三者之间文件互传

以下内容源于日常学习的整理&#xff0c;欢迎交流。 下图是Windows主机、虚拟机Ubuntu、开发者三者之间文件互传的方式示意图&#xff1a; 注意&#xff0c;下面谈及的所有方式&#xff0c;都要求两者的IP地址处于同一网段&#xff0c;涉及到的软件资源见felm。 一、Windows主…

Windows Docker 报错: has no HTTPS proxy,换源

pull python 3.7报错&#xff1a; 尝试拉取Docker 测试库hello world也失败 尝试使用临时镜像源&#xff0c;可以成功拉取&#xff1a; sudo docker pull docker.m.daocloud.io/hello-world说明确实是网络问题&#xff0c;需要配置镜像源&#xff0c;为了方便&#xff0c;在d…