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 日期格式化功能有所帮助。