欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-11 09:18:23
在smarty 中获取当前日期时间和格式化日期时间与php中有些不同的地方,这里就为您详细介绍: 首先是获取当前的日期时间:在php中我们会使用date函数来获取当前的时...

在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"}
{$currtime|date_format}//格式化传过来的时间
{$currtime|date_format:"%a, %b %e, %y"}
{$currtime|date_format:":"%y-%m-%d %h:%m:%s"}

output://以上输出以下结果

dec 26, 2008
08:55:25
dec 26, 2008
friday, december 26, 2008
2008-08-26 08:55:21