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

yipeiwu_com5年前PHP代码库

在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

相关文章

简单谈谈PHP中的Reload操作

前言 有很多前辈告诫过我们,reload 能保证整个过程的平滑性,所谓平滑性指的是在 reload 的过程中,旧的进程在处理完当前请求前不会提前终止。很多年来,我从来没有质疑过这种说法,...

PHP new static 和 new self详解

PHP new static 和 new self详解

最近在一个视频的评论被问到一个小问题:这里选择用static 而不是self有特殊的考虑么?或者我们可以这样转换一下问题: PHP 的 new static 和 new self 具体有...

php实现复制移动文件的方法

本文实例讲述了php实现复制移动文件的方法。分享给大家供大家参考。具体如下: 仿写elFinder的,抽出关键的成员方法做的一个简单示例 实现功能是: 实现多文件复制或移动操作 注:为了...

php截取utf-8中文字符串乱码的解决方法

复制代码 代码如下:function utf8_substr($str,$len) {   for($i=0;$i<$len;$i++)   {     $temp_str=sub...

php正则匹配文章中的远程图片地址并下载图片至本地

使用php的正则表达式来实现: $content = '这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">'; $c...