MySQL 日期格式化
在处理日期和时间时,MySQL 提供了多种函数来格式化和转换日期时间数据。以下是一些常用的函数及其用法:
1. 将时间格式化为 YYYY-mm-dd HH:ii:ss
格式
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
解释:
DATE_FORMAT()
函数用于将日期时间格式化为指定的格式。NOW()
返回当前日期和时间。%Y-%m-%d %H:%i:%s
是格式化字符串,表示年-月-日 时:分:秒。
2. 获取当前时间
SELECT NOW();
解释:
NOW()
函数返回当前日期和时间,格式为YYYY-MM-DD HH:MM:SS
。
3. 获取当前时间戳(10位长度)
SELECT UNIX_TIMESTAMP(NOW());
-- 或者
SELECT UNIX_TIMESTAMP();
解释:
UNIX_TIMESTAMP()
函数返回当前时间的 Unix 时间戳(自1970年1月1日以来的秒数)。- Unix 时间戳是10位长度的整数。
4. 将时间戳格式化为默认日期格式
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());
解释:
FROM_UNIXTIME()
函数将 Unix 时间戳转换为日期时间,格式为YYYY-MM-DD HH:MM:SS
。
5. 将时间戳格式化为指定日期格式
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i:%s');
解释:
FROM_UNIXTIME()
函数可以带第二个参数,指定格式化字符串。%Y-%m-%d %H:%i:%s
是常见的日期时间格式。
6. 处理13位时间戳转换
SELECT FROM_UNIXTIME(1627311955999 / 1000, '%Y-%m-%d %H:%i:%s');
解释:
- 13位时间戳表示毫秒数,需要除以1000转换为秒。
FROM_UNIXTIME()
函数用于将秒级时间戳转换为日期时间格式。
总结
通过以上函数,我们可以灵活地格式化和转换日期时间数据。在实际应用中,根据需求选择合适的函数和格式化字符串,可以大大提高数据处理的效率和准确性。希望本文对你理解和使用 MySQL 日期格式化功能有所帮助。