我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中的日期时间类型与格式化方式是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中的日期时间类型与格式化方式是什么

本篇内容介绍了“MySQL中的日期时间类型与格式化方式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

MySQL中的日期时间类型与格式化方式是什么

【1】MySQL中的日期时间类型

MySQL中常用的几种时间类型有:date、datetime、time、year、timestamp

数据类型占用字节最小值最大值零值表示
date41000-01-019999-12-310000-00-00
datetime81000-01-01 00:00:009999-12-31 23:59:590000-00-00 00:00: 00
timestamp4197001010800012038年的某个时刻0000000000000000
time3-838:59:59838:59:5900:00:00
year1190121550000

详细解释

  • datetime : 时间日期型,格式是YYYY-mm-dd HH:ii:ss,表示的范围是从1000到9999。但是有零值,0000-00-00 00:00:00;

  • date:日期,就是datetime中的date部分;

  • time:时间(段),指定的某个区间之间,从-时间到+时间(有负时间表示);

  • timestamp:时间戳,并不是常规意义时间戳(如:14253685),范围是’1970-01-01 00:00:00’到2037年。格式为YYYY-mm-dd HH:ii:ss,格式与datetime完全一致;

  • year:yy和yyyy,yyyy的范围是1901-2155,yy的范围是1970-2069。

两位year(00-69表示2000-2069,70-99表示1970~1999)。当应用只需要记录年份时,year比date更省空间

SQL语句实例

create table my_date(
	d1 datetime,
	d2 date,
	d3 time,
	d4 timestamp,
	d5 year
)charset utf8;
desc my_date

如下图所示:year默认为4位,即YYYY; timestamp不能为空,有默认值,在创建新记录和修改现有记录的时候都对这个数据列刷新。

MySQL中的日期时间类型与格式化方式是什么

如下分别插入几条数据并对time做差异分析:

insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','11:50:54','2015-09-28 11:51:08','2015');
insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','-11:50:54','2015-09-28 11:51:08','2015');-- -11
insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','-211:50:54','2015-09-28 11:51:08','2015');-- -2 11
insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','-2 11:50:54','2015-09-28 11:51:08','2015');-- -2过去两天
#year用69标识-2069
insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','11:50:54','2015-09-28 11:51:08','69');-- 69
#year用70标识-1970
insert into my_date VALUES('2015-09-28 11:50:36','2015-09-28','11:50:54','2015-09-28 11:51:08','70');-- 70

MySQL中的日期时间类型与格式化方式是什么

MySQL中的日期时间类型与格式化方式是什么

timestamp字段

默认情况下只要当前所在的记录被更新,该字段一定会自动更新成当前时间。

update my_date set d1 = SYSDATE() where d5=69;
select * from my_date

MySQL中的日期时间类型与格式化方式是什么

那么MySQL可以拿到真正的时间戳吗?当然可以!

select UNIX_TIMESTAMP();

MySQL中的日期时间类型与格式化方式是什么

测试实例

4.1 查询当前时间

SELECT SYSDATE() from dual;

MySQL中的日期时间类型与格式化方式是什么

4.2 将当前时间插入以上几种类型列中

insert INTO `user` (name,number,date,datetime,timestamp,time,year)
VALUES (
'Loum',3,SYSDATE(),SYSDATE(),SYSDATE(),SYSDATE(),2016
);

MySQL中的日期时间类型与格式化方式是什么

4.3 mysql中datetime类型的长度位数

如下所示,通常我们MySQL中设计datetime类型长度都默认为0:

`work_time` datetime(0) DEFAULT NULL COMMENT '清收时间',

这时插入时间通常会是我们常见到的:2020-08-29 12:52:16格式。但是如果datetime(n)中的n不为0呢?

`work_time` datetime(2) DEFAULT NULL COMMENT '清收时间',
# datetime(n)中的n最大值为6
`work_time` datetime(6) DEFAULT NULL COMMENT '清收时间',

这时在MySQL中会分别显示如下:

2020-08-29 12:52:16.01
2020-08-29 12:52:16.014057

会发现最后有一个小数点且小数点后面会分别对应相应位数的数字–这称之为纳秒。

总结如下:

  • date : 只有日期,没有时间;

  • datetime:有时间,有日期;

  • time:只有时间 ,精确到分秒 ;

  • timestamp:时间戳,精确到分秒;

  • year:年,如2002,如果写为 2002-01-15,将会进行计算,插入结果为1986

【2】日期时间类型格式化

DATE_FORMAT( )函数

可以使用date_format( )函数进行时间的转换。

SELECT DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%s') from dual;

MySQL中的日期时间类型与格式化方式是什么

date_format( ) 转换格式

格式描述
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位

str_to_date()函数

字符串转换为date:

str_to_date(
	'2016-12-15 16:48:40',
	'%Y-%m-%d %H:%i:%S'
)

“MySQL中的日期时间类型与格式化方式是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中的日期时间类型与格式化方式是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中的日期时间类型与格式化方式

目录【1】mysql中的日期时间类型① 详细解释② SQL语句实例③ timestamp字段④ 测试实例【2】日期时间类型格式化 ① DATE_FORMAT( )函数② date_format( ) 转换格式③ str_to_date()函
2022-07-04

MySQL日期格式化的方法是什么

MySQL中可以使用DATE_FORMAT()函数来格式化日期。语法如下:DATE_FORMAT(date, format)其中,date是要格式化的日期,format是要显示的日期格式。格式化日期的规则如下:%Y:四位年份%y:两位
MySQL日期格式化的方法是什么
2024-04-09

JavaScript 日期和时间的格式化方法

这篇文章主要介绍了JavaScript 日期和时间的格式化,JavaScript 中的 Date 对象提供了许多方法和属性,可以用于处理日期和时间,根据具体情况选择适合的方法和技巧,需要的朋友可以参考下
2023-02-18

C#日期格式化的方法是什么

这篇文章主要讲解了“C#日期格式化的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#日期格式化的方法是什么”吧!C#日期格式化为了达到不同的显示效果有时,我们需要对时间进行转化,
2023-06-17

MySQL中日期格式化匹配的处理方式

目录1. 基本的日期格式化函数2. 使用 DATE_FORMAT 进行日期格式化3. 使用 STR_TO_DATE 进行字符串解析4. 日期范围匹配5. 使用日期函数进行更多操作6. 时间部分匹配7. 综合示例8. 总结在mysql中,处理
MySQL中日期格式化匹配的处理方式
2024-08-19

postgresql时间格式化的方法是什么

在 PostgreSQL 中,可以使用 to_char() 函数来格式化时间。以下是一些常见的时间格式化样式:将时间转换为指定的格式:to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS')获
postgresql时间格式化的方法是什么
2024-03-06

Python MySQL 日期时间格式化作为参数的操作

1.我的MySQL中的start_time存储的是2018-03-21 10:55:32格式的时间,我需要按照YYYY-MM-DD格式来查询,我的MySQL中的sql是这样写的:SELECT * from mytable WHERE DAT
2022-05-30

Java使用DateFormatter格式化日期时间的方法示例

本文实例讲述了Java使用DateFormatter格式化日期时间的方法。分享给大家供大家参考,具体如下:Java版本:1.8开始import java.time.LocalDate;import java.time.LocalDateTi
2023-05-31

java字符串格式化成日期的方法是什么

Java中可以使用SimpleDateFormat类来格式化字符串为日期。示例代码如下:import java.text.SimpleDateFormat;import java.util.Date;public class Main
2023-10-23

怎么将时间戳毫秒转化为PHP中的时间和日期格式

这篇文章主要介绍“怎么将时间戳毫秒转化为PHP中的时间和日期格式”,在日常操作中,相信很多人在怎么将时间戳毫秒转化为PHP中的时间和日期格式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么将时间戳毫秒转化为
2023-07-05

access日期格式转换的方法是什么

在Access中,可以使用Format函数来进行日期格式转换。下面是一个示例:1. 转换日期为特定格式:格式:Format(日期, "目标格式")示例:Format(#2021/01/01#, "yyyy-mm-dd") 返回 "2021-
2023-09-09

编程热搜

目录