Smarty日期时间操作方法示例


Posted in PHP onNovember 15, 2016

本文实例讲述了Smarty日期时间操作方法。分享给大家供大家参考,具体如下:

$smarty = new Smarty;
$smarty->assign('yesterday', strtotime('-1 day'));
$smarty->display('index.tpl');

index.tpl:

{$smarty.now|date_format} //Sep 7, 2009
{$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"}

Smarty显示格式化当前日期

{$smarty.now|date_format}
{$smarty.now|date_format:"%A, %m %e, %Y"}
{$smarty.now|date_format:"%H:%M:%S"}

smarty符号说明

%Y表示年份

%m表示月份

%d表示日

%A 表示星期几,

%H 表示小时

%M表示分钟

%s表示秒

如果日期是变量,可以:

{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:"%H:%M:%S"}

smarty内部日期函数html_select_date()使用说明

prefix string类型 默认前缀名为"Date_
start_year string类型 默认为当前年份 仍可以用(+/-N)模式表示 如start_year="-10" option就从1999年开始
end_year string类型 默认同上 可用(+/-N)模式表示 如end_year="+5" option就到2014为止
field_order string类型 默认MDY 即按月日年的顺序 排放select
month_format string类型 默认%B 即显示为January、February、etc. %b格式为简写形式 显示月份的前三个字母 %m格式为数字显示月份
day_format string类型 默认%02d 数字表示从01~31 并且与月份不关联 %b格式为二进制显示格式 很少用

其他属性:

display_days boolean类型 控制day的select是否显示
display_months boolean类型 控制month的select是否显示
display_years boolean类型 控制year的select是否显示
year_as_text boolean类型 true显示为text型年份 false显示为下拉菜单型
reverse_years boolean 类型 true的情况下年份为倒序显示
year_size string 类型 值在大于1的情况下均为下拉菜单型输出 0或1时为上下箭头控制
month_size 同上
day_size 同上

示例如下:

{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false}

OUTPUT: (current year is 2009)

<select name="StartDateMonth">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12" selected>December</option>
</select>
<select name="StartDateYear">
<option value="1999">1995</option>
<option value="1999">1996</option>
<option value="1999">1997</option>
<option value="1999">1998</option>
<option value="1999">1999</option>
<option value="2000" selected>2000</option>
<option value="2001">2001</option>
</select>

其他的属性,请自行调试。这个日期处理函数的缺点是day与month不关联,不如用js处理

其中js显示day的函数可以如下定义:

function showdays(year,month){
var day="day";
if(month.value==0){
 document.getElementById(day).length=1;
 return;
}else{
 if(month.value==1||month.value==3||month.value==5||month.value==7||month.value==8||month.value==10||month.value==12){
   document.getElementById(day).length=1;
   createlist(1,32,day);
   return;
 }else if(month.value==2){
 if(year.value%4==0&&year.value%100!=0||year.value%400==0){
  document.getElementById(day).length=1;
  createlist(1,30,day);
  return;
 }else{
  document.getElementById(day).length=1;
  createlist(1,29,day);
  return;
 }
 }else{
 document.getElementById(day).length=1;
 createlist(1,31,day);
 return;
 }
}
}

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
建立文件交换功能的脚本(一)
Oct 09 PHP
PHP小技巧搜集,每个PHPer都来露一手
Jan 02 PHP
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
php str_replace的替换漏洞
Mar 15 PHP
PHP实现Socket服务器的代码
Apr 03 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
PDO防注入原理分析以及注意事项
Feb 25 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 PHP
Fleaphp常见函数功能与用法示例
Nov 15 #PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 #PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 #PHP
thinkphp的dump函数无输出实例代码
Nov 15 #PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 #PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 #PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 #PHP
You might like
php实现图片以base64显示的方法
2016/10/13 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
jQuery知识点整理
2015/01/30 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python制作一个桌面便签软件
2015/08/09 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Python全栈之列表数据类型详解
2019/10/01 Python
PyTorch中的Variable变量详解
2020/01/07 Python
python打包多类型文件的操作方法
2020/09/21 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
生物技术研究生自荐信
2013/11/12 职场文书
高中的自我鉴定
2013/12/16 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
运动会跳远加油稿
2014/02/20 职场文书
超市理货员岗位职责
2014/07/04 职场文书
销售人员求职信
2014/07/22 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
如何判断微信付款码和支付宝付款码
2021/04/01 PHP
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL
MySQL索引失效场景及解决方案
2022/07/23 MySQL