background image

PHP

教程 使用 Smarty 获取当前日期时间和格式化日期时间的方法

在 Smarty 中获取当前日期时间和格式化日期时间与 PHP 中有些不同的地方,这里就为您
详细介绍:

首先是获取当前的日期时间:

在 PHP 中我们会使用 date 函数来获取当前的时间,实例代码如下:
date("Y-m-dH:i:s"); //该结果会显示为:2010-07-27 21:19:36 的模式
但是在 Smarty 模板中我们就不能使用 date 

 

了,而是应该使用 now 来获取当前的时间,实

例代码如下:
{$smarty.now} //该结果会显示为:1280236776 的时间戳模式
然而我们还可以将这个时间戳格式化,实例代码如下:
{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'} //

 

该结果会显示为 2010-07-27 21:19:36 

的时间模式

 

需要说明的是 Smarty 中的这个 date_format 时间格式化函数和 PHP

 

中的 strftime()函数基

本上相同,您可以去查看 PHP

 

中的 strftime() 函数中的 format 

 

识别转换标记。其中 %Y 是

代表十进制年份,%m 是代表十进制月份,%d 是代表十进制天数,%H 是代表十进制小
时数,%M 是代表十进制的分数,%S 是代表十进制的秒数(这里的 S 是大写的哦)。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////

smarty 中 date_format 函数用法

在 php 中使用 date 函数来格式化时间戳,smarty 中可以使用 date_format 来实现
具体用法:

{$timestamp|date_fomat:”%Y-%m-%d %H:%M:%S”}

 注意:| 两边没有空格

输出形式:2010-07-10 16:30:25

其他用法如下:
{$smarty.now|date_format}
{$smarty.now|date_format:”%A, %B %e, %Y”}
{$smarty.now|date_format:”%H:%M:%S”}
{$yesterday|date_format}
{$yesterday|date_format:”%A, %B %e, %Y”}
{$yesterday|date_format:”%H:%M:%S”}
eg:
在模板页用
{$goods.add_time|date_format:"%Y-%m-%d %H:%M:%S"}
--------------------------
index.php:
$smarty = new Smarty;
$smarty->assign('currtime', time());
$smarty->display('index.tpl');
index.tpl:
{$smarty.now|date_format}//格式化当前时间
{$smarty.now|date_format:"%H:%M:%S"}