您的位置:

MySQL时间转日期全面解析

MySQL时间转日期,是我们在编程开发中经常遇到的问题。本文将从多个方面对MySQL时间转日期进行详细阐述,包括MySQL字符串转日期函数、MySQL转日期函数、MySQL时间戳转换日期、MySQL字符转日期函数、MySQL字符转日期、MySQL数字转日期、MySQL毫秒转日期、MySQL时间戳转日期、MySQL long转日期、MySQL时间日期怎么表示。

一、MySQL字符串转日期函数

MySQL数据库字段类型为Date格式时,最好将一切日期字符串存储到该字段中,这样可以更方便的执行数据库查询。下面介绍MySQL日期字符串转日期函数:Str_to_date()。


SELECT STR_TO_DATE('17-03-2022','%d-%m-%Y');

代码解析:上述代码中,`%d`表示日,`%m`表示月,`%Y`表示年。执行结果是将字符类型的日期'17-03-2022'解释为2022-03-17日期格式。

二、MySQL转日期函数

在MySQL中,可以将UNIX时间戳转换为日期时间格式。MySQL CONVERT()函数可以将DATE、DATETIME 和TIME等值之间进行转换。


SELECT CONVERT('2018-05-05', DATETIME);

代码解析:上述代码将字符串'2018-05-05'转换为日期格式,并输出结果为2018-05-05 00:00:00。

三、MySQL时间戳转换日期

MySQL timestamp可以包含日期和时间,但它也可能只是日期或时间。在MySQL中,可以将UNIX时间戳转换为timestamp类型来表示日期和时间。同时,也可以将timestamp类型转换为日期和时间。


SELECT FROM_UNIXTIME(1516661200);

代码解析:上述代码将UNIX时间戳'1516661200'转换为日期时间格式,并输出结果为"2018-01-23 08:20:00"。

四、MySQL字符转日期函数

在MySQL中,可以使用日期函数STR_TO_DATE来将字符转换为日期类型。返回结果是一个日期时间类型。


SELECT STR_TO_DATE('25.04.2019', '%d.%m.%Y');

代码解析:上述代码将字符'25.04.2019'转换为日期时间格式,并输出结果为2019-04-25。

五、MySQL字符转日期

在MySQL中,使用DATE_FORMAT函数可以将日期转换为指定格式的字符串,而使用STR_TO_DATE函数则可以将指定格式的字符串转换为日期。


SET @str_date = '2018-5-23';
SELECT DATE_FORMAT(STR_TO_DATE(@str_date, '%Y-%m-%d'),'%d-%m-%Y');

代码解析:上述代码将字符串'2018-05-23'转换为日期格式,然后将日期格式转换为指定格式'%d-%m-%Y'的字符串,并输出结果为'23-05-2018'。

六、MySQL数字转日期

在MySQL中,可以使用日期函数FROM_UNIXTIME()或FROM_DAYS()来将数字转换为日期类型。


SELECT FROM_UNIXTIME(1234567890);
SELECT FROM_DAYS(730669);

代码解析:上述第一行代码将数字'1234567890'转换为日期时间格式,并输出结果为"2009-02-13 23:31:30";第二行代码将数字'730669'转换为日期格式,并输出结果为"2001-11-23"。

七、MySQL毫秒转日期

在MySQL中,如果要将毫秒数转换为日期时间格式,需要将其除以1000,然后使用FROM_UNIXTIME()或DATE_FORMAT()函数来将其转换为日期时间格式。


SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP('2020-07-01 12:00:00')+456789/1000), '%Y-%m-%d %H:%i:%s:%h');

代码解析:上述代码将'2020-07-01 12:00:00'转换为UNIX时间戳并加上'456789/1000'的毫秒数,然后将其转换为指定格式的日期时间字符串,并输出结果为"2020-07-01 12:00:00:12"。

八、MySQL时间戳转日期

MySQL中可以使用UNIX_TIMESTAMP()函数将一个日期转换为UNIX时间戳,也可以使用FROM_UNIXTIME()函数将UNIX时间戳转换为日期格式。


SELECT UNIX_TIMESTAMP('2019-07-01 12:00:00');
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2019-07-01 12:00:00'));

代码解析:上述代码第一行将'2019-07-01 12:00:00'转换为UNIX时间戳,并输出结果为1561958400;第二行将UNIX时间戳1561958400转换为日期时间格式,并输出结果为"2019-07-01 12:00:00"。

九、MySQL long转日期

在MySQL中,可以使用DATE_ADD()和CAST()函数将long类型转换为日期格式。


SELECT DATE_ADD(CAST('19700101000001' AS datetime), INTERVAL 1594829531900/1000 SECOND);

代码解析:上述代码将long类型的'1594829531900'转换为日期时间格式,并输出结果为"2020-07-15 07:45:31"。

十、MySQL时间日期怎么表示

在MySQL中,时间和日期的基本表示方式有三种:DateTime、Date和Time。

  • DateTime: 包含日期和时间
  • Date: 仅包含日期
  • Time: 仅包含时间

这些类型最常用的转换函数就是FROM_UNIXTIME()和FROM_DATE()函数,可以进行时间或日期时间戳的转换。

总结

本文详细介绍了MySQL时间转日期的多种方法,包括字符串转日期函数、转日期函数、时间戳转换日期、字符转日期函数、字符转日期、数字转日期、毫秒转日期、时间戳转日期、long转日期和时间日期的表示方式等。希望可以为大家在编程开发中遇到的时间转换问题提供帮助。