【mysql】str_to_date()字符串转化为日期类型
前言
- mysql 5.7.31
字符串转化为日期类型
SELECT str_to_date('2021-05-07', '%Y-%m-%d'); /*2021-05-07*/
SELECT str_to_date('2021-05-07 23:00:00', '%Y-%m-%d %H:%i:%s'); /*2021-05-07 23:00:00*/
SELECT str_to_date('2021-05-07 11:00:00 PM', '%Y-%m-%d %h:%i:%s %p'); /*2021-05-07 23:00:00*/
SELECT str_to_date('2021年05月07日 23:00:00', '%Y年%m月%d日 %H:%i:%s'); /*2021-05-07 23:00:00*/
SELECT str_to_date('2021-05-07T23:00:00', '%Y-%m-%dT%H:%i:%s'); /*2021-05-07 23:00:00*/
- str_to_date 转换时注意时区。
注意时区
同一个日期,在不同时区下,unix_timestamp值不一样:
set time_zone = '+0:00';
SELECT unix_timestamp(str_to_date('1970-01-02', '%Y-%m-%d')); /*86400*/
set time_zone = '+7:00';
SELECT unix_timestamp(str_to_date('1970-01-02', '%Y-%m-%d')); /*61200*/
set time_zone = '+9:00';
SELECT unix_timestamp(str_to_date('1970-01-02', '%Y-%m-%d')); /*54000*/
set time_zone = '+8:00';
SELECT unix_timestamp(str_to_date('1970-01-02', '%Y-%m-%d')); /*57600*/
GMT+0:00
的1970-01-01
的unix_timestamp值为0,1970-01-02
的unix_timestamp值为86400(246060=86400)。GMT+7:00
的1970-01-02
的unix_timestamp值为(24-7)6060=61200。GMT+9:00
的1970-01-02
的unix_timestamp值为(24-9)6060=54000。GMT+8:00
的1970-01-02
的unix_timestamp值为(24-8)6060=57600。
GMT+0:00
时区下各个unix_timestamp值表时的时间为:
set time_zone = '+0:00';
select from_unixtime(86400), from_unixtime(61200), from_unixtime(57600), from_unixtime(54000);
GMT+8:00
时区下各个unix_timestamp值表时的时间为:
set time_zone = '+8:00';
select from_unixtime(86400), from_unixtime(61200), from_unixtime(57600), from_unixtime(54000);
日期格式字符串
格式 | 描述 |
---|---|
%a | 缩写星期名 |
%b | 缩写月名 |
%c | 月,数值 |
%D | 带有英文前缀的月中的天 |
%d | 月的天,数值(00-31) |
%e | 月的天,数值(0-31) |
%f | 微秒 |
%H | 小时 (00-23) |
%h | 小时 (01-12) |
%I | 大写i。小时 (01-12) |
%i | 分钟,数值(00-59) |
%j | 年的天 (001-366) |
%k | 小时 (0-23) |
%l | 小写L。小时 (1-12) |
%M | 月名 |
%m | 月,数值(00-12) |
%p | AM 或 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 位 |
【mysql】str_to_date()字符串转化为日期类型相关推荐
- R语言使用as.Date函数把dataframe中的多个数据列(multiple columns)从字符串转化到日期类型
R语言使用as.Date函数把dataframe中的多个数据列(multiple columns)从字符串转化到日期类型 目录
- mysql转换年月日_mysql中把字符串转换成日期类型:
mysql中把字符串转换成日期类型: select date_format('2013-03-09','%Y-%m-%d'); select date_format('2013-03-09','%y- ...
- setTimeStamp()与setDate()区别 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
数据库 1.java.sql.Date 与 java.util.Date java.sql.Date是从java.util.Date中继承而来 假设 dates1(java.sql.Date)要赋值给 ...
- R语言as.Date函数将字符串转化为日期格式实战
R语言as.Date函数将字符串转化为日期格式实战 目录 R语言as.Date函数将字符串转化为日期格式实战 #基础语法 # 仿真数据
- JavaScript 把字符串类型转换成日期类型
今天在写习题时,遇到些小问题,在这里把答案分享给大家,希望能帮助到大家! 一.把字符串转换成日期类型 1 var str = "1997-3-12"; 2 var d = new ...
- new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解
new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...
- mysql 时间格式比较_mysql 日期类型 比较
datetime 显示为'YYYY-MM-DD HH:MM:SS'格式,范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59' date 显示为'YYYY-MM- ...
- linux mysql date 格式_关于MySQL中的三种日期类型
最近遇到两次插入日期类型后,数值为 0000-00-00 00:00:00 的情况,于是查了一下官方文档,找到了原因. MySQL中我们经常用来存储日期的数据类型有三种:Date.Datetime.T ...
- mysql str_to_date 字符串转换为日期
1.mysql日期和字符相互转换方法 date_format(date,'%Y-%m-%d') ----–>oracle中的to_char(); str_to_date(date,'%Y-% ...
最新文章
- 2018.09.01 poj3071Football(概率dp+二进制找规律)
- QCopChannel的用法
- 代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API
- 解读Android LOG机制的实现
- java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
- LeetCode Range Sum Query Immutable
- CompletableFuture详解~applyToEither
- 简述Qt编程中遇到的编码格式问题
- 关于Zipkin的几个问题
- 看懂这些代码,我哭着笑了
- jQuery LigerUI 插件介绍及使用之ligerGrid
- socket:通常每个套接字地址(协议/网络地址/端口)只允许使用一次
- 9102年,曝光这几个高质量的公众号,年薪7位数!
- Spring Boot Web简介
- 三菱plc可以用c语言编程吗,三菱PLC高手进-c语言编程题库
- mtk手机的联机方法
- 单目深度估计综述(updating...)
- 面试题 - 浏览器兼容性问题与解决方案
- java 163邮箱发邮件_Java实现163邮箱发送邮件到QQ邮箱
- 【公告】C币兑换平台上线