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 相关文章推荐
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
PHP里的中文变量说明
Jul 23 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
php统计数组不同元素的个数的实例方法
Sep 26 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正则表达式入门教程(推荐)
2016/05/18 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
PHP中SESSION过期设置
2021/03/09 PHP
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Python isinstance函数介绍
2015/04/14 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
Python的条件锁与事件共享详解
2019/09/12 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
Python3-异步进程回调函数(callback())介绍
2020/05/02 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
sealed修饰符是干什么的
2012/10/23 面试题
行政主管岗位职责
2013/11/18 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
毕业生党员个人总结
2015/02/14 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
Python基础知识之变量的详解
2021/04/14 Python
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python