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 相关文章推荐
PHP IPV6正则表达式验证代码
Feb 16 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
php实现监听事件
Nov 06 PHP
php生成缩略图示例代码分享(使用gd库实现)
Jan 20 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
PHP rsa加密解密算法原理解析
2020/12/09 PHP
jQuery 入门讲解1
2009/04/15 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
js实现ATM机存取款功能
2020/10/27 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
python实现图像外边界跟踪操作
2020/07/13 Python
python自动化办公操作PPT的实现
2021/02/05 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
中科方德软件测试面试题
2016/04/21 面试题
2014年计算机专业个人自我评价
2014/01/19 职场文书
黄河象教学反思
2014/02/10 职场文书
青安岗事迹材料
2014/05/14 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python