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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
笑谈配置,使用Smarty技术
Jan 04 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
php URL跳转代码 减少外链
Jun 25 PHP
有关php运算符的知识大全
Nov 03 PHP
PHP常用的缓存技术汇总
May 05 PHP
详解php设置session(过期、失效、有效期)
Nov 12 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 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
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
element-ui多文件上传的实现示例
2019/04/10 Javascript
python实现文件的分割与合并
2019/08/29 Python
python打开使用的方法
2019/09/30 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
Python HTMLTestRunner如何下载生成报告
2020/09/04 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
html Table 表头固定的实现
2019/01/22 HTML / CSS
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
渡河少年教学反思
2014/02/12 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
关于保护环境的标语
2014/06/09 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
酒店员工管理制度
2015/08/05 职场文书
关于运动会的广播稿
2015/08/19 职场文书
Java基础之线程锁相关知识总结
2021/06/30 Java/Android