在 mysql 中使用 date_format() 将时间戳转为 “yyyy-mm-dd” 格式,需正确编写格式字符串。具体写法是:select date_format(created_at, '%y-%m-%d') as formatted_date from your_table; 其中 %y 表示四位数年份,%m 代表两位数月份,%d 是两位数日期。常见格式符包括:%y(四位年份)、%y(两位年份)、%m(带前导零的月份)、%c(不带前导零的月份)、%d(带前导零的日期)、%e(不带前导零的日期)、%h(24小时制小时)、%h(12小时制小时)、%i(分钟)、%s 或 %s(秒)、%p(am/pm)。实际应用时注意字段是否为标准日期类型、处理 null 值可用 ifnull(),同时注意不同数据库系统如 postgresql 使用 to_char() 而非 date_format(),还需留意格式符大小写的区别。

时间戳转成“年-月-日”格式,用 DATE_FORMAT() 是个很直接的办法。关键是你得写对格式字符串。

这个函数在 MySQL 和某些支持它的数据库里非常实用。如果你有一个日期或者时间戳字段,比如 created_at,你可以这样写:

SELECT DATE_FORMAT(created_at, '%Y-%m-%d') AS formatted_date FROM your_table;
这里的 %Y 表示四位数的年份,%m 是两位数的月份,%d 是两位数的日期。组合起来就是标准的“年-月-日”格式。
以下是一些常用的格式符,方便你根据不同需求调整输出格式:

%Y:四位数的年份(例如 2025)%y:两位数的年份(例如 25)%m:两位数的月份(01 到 12)%c:数字形式的月份(1 到 12,不带前导零)%d:两位数的日期(01 到 31)%e:数字形式的日期(1 到 31,不带前导零)%H:24小时制的小时(00 到 23)%h:12小时制的小时(01 到 12)%i:分钟(00 到 59)%s 或 %S:秒(00 到 59)%p:AM 或 PM比如你想显示成 “2025-04-05 14:30:00”,那格式串就是 '&Y-%m-%d %H:%i:%s'。
有时候你会发现结果是 NULL,这可能是你的字段不是标准的日期格式,或者是 NULL 值本身。这时候建议先做判断或处理,比如用 IFNULL() 包一层默认值。
另外,不同数据库系统对日期格式的支持略有差异。例如 PostgreSQL 不用 DATE_FORMAT(),而是用 TO_CHAR()。所以如果你不在 MySQL 环境下,记得查一下对应函数。
还有一个容易出错的地方是大小写问题,比如 %Y 和 %y 差别很大,拼写错了也会导致结果不符合预期。
基本上就这些,掌握这几个常用符号和结构,转换格式就不会太麻烦了。
以上就是DATE_FORMAT()怎样将时间戳转为‘年-月-日’格式?常用占位符速查表的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号