Mysql 日期处理

Mysql的五种时间和日期类型

YEAR表示年份:字节数为1,取值范围为“1901——2155”
DATE表示日期:字节数为4,取值范围为“1000-01-01——9999-12-31”
TIME表示时间:字节数为3,取值范围为“-838:59:59——838:59:59”
DATETIME和TIMESTAMP表示日期和时间
DATETIME:字节数为8,取值范围为“1000-01-01 00:00:00——9999-12-31 23:59:59”
TIMESTAMP,字节数为4,取值范围为“19700101080001——20380119111407”

给各种时间日期类型赋值

给YEAR赋值有3种方式
方式一:
直接插入4位字符串(“1998”)或者4位数字(1998)
方式二:
插入两位字符串(“04”)
如果范围是"00"-“69”,则相当于插入"2000"-“2069”
如果范围是"70"-“99”,则相当于插入"1970"-“1999”
注:"0"和"00"的效果一样都表示2000年
方式三:
插入两位数字(90)
插入数字和插入字符的区别在于,插入一位0表示的不是2000年,而是0000.

给TIME赋值
TIME类型表示为“时:分:秒”,尽管小时范围一般是0~23,但是为了表示某些特殊时间间隔,MySQL将TIME的小时范围扩发了,而且支持负值。
标准格式是"HH:MM:SS",但是不一定是这种格式,可以是"D HH:MM:SS"、“HH:MM”、“SS”、“D HH”、“D HH:MM”

“D HH:MM:SS"相当于是”(D*24+HH):MM:SS"
eg:插入的是"2 23:50:50"=“71:50:50”
“HH:MM”
eg:“11:25”=“11:25:00”
“SS”
eg:“30”=“00:00:30”

给DATE赋值
标准格式是"YYYY-MM-DD"、其他的还有"YYYY@MM@DD"、“YYYY.MM.DD"等
还可以用"YY-MM-DD”

给DATETIME赋值
标准格式为"YYYY-MM-DD HH:MM:SS"
具体赋值方法与上面各种类型的方法相似。

给TIMESTAMP赋值
TIMESTAMP的取值范围比较小,没有DATETIME的取值范围大,因此输入值时一定要保证在TIMESTAMP的范围之内。它的插入也与插入其他日期和时间数据类型类似。
插入当前时间
第一,可以使用CURRENT_TIMESTAMP;
第二,输入NULL,系统自动输入当前的TIMESTAMP;
第三,无任何输入,系统自动输入当前的TIMESTAMP。
另外有很特殊的一点:TIMESTAMP的数值是与时区相关。

当 MySQL遇到一个日期或时间类型的超出范围或对于该类型不合法的值时,它将该值转换为该类的"零"值。

列类型:"零"值
DATETIME:‘0000-00-00 00:00:00’
DATE:‘0000-00-00’
TIMESTAMP:00000000000000
TIME:‘00:00:00’
YEAR:0000

mysql的date类型日期的格式

	标准格式是"YYYY-MM-DD"、其他的还有"YYYY@MM@DD"、"YYYY.MM.DD"等
	还可以用"YY-MM-DD"
	mysql有它的日期格式,java也有自己的日期格式(Mon Oct 04 16:29:59 CST 				 2021)
	我们要做的就是将日期, 按照你自己指定的格式,去进行转化
	字符串-->日期,的格式 必须按照字符串 的样子去转化,例如字符串是'9-13-1999',就必须按照 '%m-%d-%Y'格式来转化到日期类型,日期类型都只有一个格式

mysql关于date的函数

	1.now:获取当前日期

	2.str_to_date: 将日期格式的字符转换成指定格式的日期 
	格式一定要匹配字符串
		STR_TO_DATE('9-13-1999','%m-%d-%Y') 1999-09-13

	3.date_format:将日期转换成字符
		DATE_FORMAT(‘2018-6-6’,‘%Y年%m月%d日’) 2018年06月06日

mysql的格式符

	%Y 四位的年份
	%y 2位的年份
	%m 月份(01,02…11,12) 
	%c 月份(1,2,…11,12) 
	%d 日(01,02,…) 
	%H 小时(24小时制)
	%h 小时(12小时制)
	**%i 分钟(00,01…59) 
	%s 秒(00,01,…59)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值