PHP Smarty模板 date_format 函数用法与格式化详解

远山来客
远山来客
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍如何在PHP Smarty模板引擎中使用date_format修饰符对日期和时间进行格式化。该修饰符本质是对PHP内置strftime()函数的封装,允许开发者通过特定的占位符自定义日期显示风格。

基本用法示例

在控制器或初始化代码中,将Unix时间戳分配给模板变量:

$smarty = new Smarty;
// 获取昨天的时间戳
$smarty->assign('yesterday', strtotime('-1 day'));
$smarty->display('index.tpl');

在Smarty模板文件(如 index.tpl)中,使用管道符 | 调用 date_format:

  • {$smarty.now|date_format}:使用默认格式输出当前系统时间。
  • {$smarty.now|date_format:"%A, %B %e, %Y"}:按指定格式输出星期、月份全称、日期和年份。
  • {$smarty.now|date_format:"%H:%M:%S"}:仅输出时、分、秒。
  • {$yesterday|date_format}:格式化昨日的时间戳。

上述代码产生的输出结果通常如下所示:

以下是可能的输出效果:
Feb 6, 2001
Tuesday, February 6, 2001
10:33:00
Feb 5, 2001
Monday, February 5, 2001
10:33:00

常用日期转换说明符

date_format 的参数由百分号(%)开头的控制符组成。常见的格式符号包括:

  • 年份相关:
    %Y - 四位数的年份(如 2024)。
    %y - 两位数的年份(如 24)。
  • 月份相关:
    %m - 数字表示的月份(01-12)。
    %b - 月份的缩写(如 Jan)。
    %B - 月份的全称(如 January)。
  • 日期相关:
    %d - 月份中的第几天,带前导零(01-31)。
    %e - 月份中的第几天,无前导零空格(1-31)。
    %j - 一年中的第几天(001-366)。
  • 星期相关:
    %a - 星期的缩写(如 Mon)。
    %A - 星期的全称(如 Monday)。
  • 时间相关:
    %H - 24小时制的小时(00-23)。
    %I - 12小时制的小时(01-12)。
    %M - 分钟(00-59)。
    %S - 秒(00-59)。
    %T - 等同于 %H:%M:%S,直接输出当前时间。
  • 其他实用符号:
    %Z - 时区名称或缩写。
    %% - 输出一个百分号字符。

注意事项

date_format 在底层调用了PHP的 strftime() 函数。因此,支持的转换说明符数量取决于服务器操作系统安装的C库版本。某些复杂的控制符在特定环境中可能不可用。

如果在格式化后得到的结果不符合预期,建议检查服务器端的PHP环境是否完整安装了相关区域设置(locale),并查阅系统的 man strftime 文档以获取完整的支持列表。

以上就是 Smarty date_format 时间日期格式化的详细内容,更多关于 PHP Smarty 模板开发的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表