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的一些小问题
Jul 03 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
Dec 24 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
CodeIgniter记录错误日志的方法全面总结
May 17 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
PHP内存缓存功能memcached示例
Oct 19 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
Feb 11 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 安全过滤函数代码
2011/05/07 PHP
php文件操作实例代码
2012/05/10 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php curl基本操作详解
2013/07/23 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
简单介绍Python中利用生成器实现的并发编程
2015/05/04 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
详解Python 正则表达式模块
2018/11/05 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
Python实现手势识别
2020/10/21 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
Solaris操作系统的线程机制
2012/12/23 面试题
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
工地标语大全
2014/06/18 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
教师求职信怎么写
2015/03/20 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
节约用电通知
2015/04/25 职场文书
《实心球》教学反思
2016/02/23 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL