php中格式化输出日期和时间可用:date('Y-m-d H:i:s',时间戳);
的形式输出,对应的是“年-月-日 时:分:秒”。
而在smarty模板中,如$time是php文件中assign过来的时间戳,在模板文件中写法为:
<{$time|date_format:'%Y-%m-%d %H:%M:%S'}>
,同样对应的输出格式为:“年-月-日 时:分:秒”。
php文件:
<?php
//导入自定义smarty操作类SmartyInit.php
include_once('class/SmartyInit.php');
$smarty = new SmartyInit();
//设置默认时区为上海
date_default_timezone_set('Asia/Shanghai');
//输出echo strtotime('now'),结果如:1245763672
//可知strtotime('now')返回的是时间戳
//也可是从数据库得到的时间戳
$time = time();
echo 'php格式化输出:<br />';
echo '昨天:'.date('Y-m-d H:i:s', strtotime('-1 day')).'<br />';
//date('Y-m-d H:i:s'),不写第二个参数,默认为当前时间
//也可写为:date('Y-m-d H:i:s', strtotime('now'))
echo '今天:'.date('Y-m-d H:i:s').'<br />';
echo '明天:'.date('Y-m-d H:i:s', strtotime('1 day')).'<br />';
echo '赋值时间戳:'.date('Y-m-d H:i:s', $time).'<br />';
//strtotime('today')只输出当天日期,
//strtotime('today 00:00:00')可输出时间
$smarty->assign('yesterday', strtotime('yesterday'));
$smarty->assign('today', strtotime('today 20:15:04'));
$smarty->assign('tomorrow', strtotime('tomorrow'));
$smarty->assign('yesterday1', strtotime('-1 day'));
//等同$smarty->assign('today1', strtotime('0 day'));
$smarty->assign('today1', strtotime('now'));
$smarty->assign('tomorrow1', strtotime('1 day'));
$smarty->assign('time', $time);
$smarty->display('index.html');
模板文件(html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>smarty测试</title>
</head>
<body>
<p>smarty模板输出:<br />
昨天:<{$yesterday|date_format:'%Y-%m-%d %H:%M:%S'}>
<br />
今天:<{$today|date_format:'%Y-%m-%d %H:%M:%S'}>
<br />
明天:<{$tomorrow|date_format:'%Y-%m-%d %H:%M:%S'}>
</p>
<p>
昨天:<{$yesterday1|date_format:'%Y-%m-%d %H:%M:%S'}>
<br />
今天:<{$today1|date_format:'%Y-%m-%d %H:%M:%S'}>
<br />
明天:<{$tomorrow1|date_format:'%Y-%m-%d %H:%M:%S'}>
<br />
赋值时间戳:<{$time|date_format:'%Y-%m-%d %H:%M:%S'}>
</p>
smarty保留变量输出:<{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}>
</body>
</html>
运行结果:

- index.rar (700 Bytes)
- 描述: php文件index.php
- 下载次数: 6
- index.rar (500 Bytes)
- 描述: 模板文件index.html
- 下载次数: 4
分享到:
相关推荐
本文将详细解释如何使用Smarty模板引擎获取当前的日期和时间,以及如何对获取到的日期和时间进行格式化。 首先,了解Smarty模板中获取当前时间的方法。在PHP中,通常使用date函数来获取当前日期和时间。例如: ```...
- `{$smarty.now}`返回当前时间戳,配合`|date_format`过滤器可以格式化输出日期时间,如`{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}`。 ### 其他高级功能 - **{$smarty.capture}**:允许在模板中捕获和重用...
在模板中,通过使用竖线(|)应用date_format过滤器来格式化日期和时间。每个date_format过滤器调用都使用了不同的格式化字符串,展示了日期时间的不同输出格式。这里的%a, %A, %b, %B等是一些格式化占位符,它们...
比如,可以创建一个自定义函数用于格式化日期,或者一个插件来处理复杂的逻辑。 5. **缓存机制**:Smarty具备内置的缓存功能,可以减少不必要的数据库查询,提高页面加载速度。开发者可以通过配置决定哪些模板需要...
自定义函数可以作为模板中的标签使用,过滤器则可以在变量显示前进行处理,如格式化日期、转换大小写等。 此外,手册中会详细介绍如何集成Smarty到你的PHP项目中,包括安装步骤、基本用法以及如何解决常见问题。你...
5. **插件系统**: Smarty拥有丰富的内置插件,如日期格式化、字符串操作等,同时允许自定义插件以扩展其功能。 6. **配置选项**: Smarty提供了大量的配置参数,可以根据项目需求调整其行为,如模板目录、缓存目录、...
- **函数与修饰器**:Smarty内置了一些模板函数,如`{date}`格式化日期,`{cycle}`用于交替显示颜色等。修饰器(Modifiers)如`|lower`用于转换字符串为小写。 4. **模板继承与布局** Smarty的模板继承允许创建一...
5. **函数和插件支持**:Smarty提供了一系列内置函数和插件,可以进行字符串操作、日期格式化等复杂操作。 6. **安全机制**:对用户输入的数据进行过滤和转义,防止XSS(跨站脚本攻击)等安全问题。 7. **配置灵活**...
6. **插件系统**:Smarty支持自定义函数和方法作为插件,这使得扩展其功能变得简单,比如添加自定义的日期格式化、循环处理等。 7. **配置选项**:Smarty有许多可配置的选项,可以根据项目需求调整模板目录、缓存...
6. **过滤器**:Smarty提供了丰富的过滤器,可以在变量被输出前进行处理,比如HTML转义、字符串截取、日期格式化等。 7. **配置选项**:Smarty允许开发者自定义配置,例如设置默认的模板目录、缓存目录、错误处理...
5. **插件(Plugins)**:Smarty提供了丰富的插件系统,可以扩展其功能,如日期格式化、文本过滤等。 6. **安全机制**:Smarty有内置的安全机制,如自动转义输出,防止XSS攻击,还可以通过配置限制模板能使用的特定...
- **模板过滤器**:对变量值进行处理,如格式化日期、转换大小写等。 5. **Smarty的优化与安全**: - **模板编译优化**:设置编译缓存,避免重复编译。 - **安全模式**:防止恶意用户注入PHP代码。 - **模板...
例如,可以创建一个日期格式化插件,将时间戳转化为易读的日期。 6. **配置文件**:Smarty使用`.conf`文件来管理全局配置,如模板目录、编译目录、缓存目录等。这些设置可以在运行时动态修改,方便调整项目需求。 ...
例如,你可以创建一个自定义的日期格式化插件。 九、最佳实践 - 将模板文件放在与PHP代码不同的目录,以保持设计与逻辑的分离。 - 使用模板继承和区来组织复杂的布局。 - 对用户输入的数据进行适当的清理和验证,...
4. **插件系统**:Smarty3支持丰富的插件,包括函数、修饰符、块和自定义函数,扩展了模板引擎的功能,如日期格式化、字符串操作等。 5. **配置选项**:开发者可以通过配置文件调整Smarty的行为,如模板目录、编译...
6. **模板函数和插件**:Smarty拥有丰富的内置函数和插件,可以扩展其功能,如日期格式化、循环、条件判断等。 7. **安全控制**: Smarty可以防止XSS攻击,通过设置安全模式和白名单,限制模板中可以使用的PHP函数...
4. **插件(Plugins)**:Smarty提供了许多内置插件,如日期格式化、循环、条件判断等,也可以自定义插件扩展功能。 5. **缓存(Caching)**: Smarty可以缓存编译后的模板,提升页面加载速度,特别是在数据不经常...