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静态文件返回304技巧分享
Jan 06 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
php 使用fopen函数创建、打开文件详解及实例代码
Sep 24 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
PHP批量删除jQuery操作
Jul 23 PHP
YII框架页面缓存操作示例
Apr 29 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
Oct 17 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
Nov 10 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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
php显示页码分页类的封装
2017/06/08 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
jQuery示例收集
2010/11/05 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
vue实现购物车的监听
2020/04/20 Javascript
Python基础知识_浅谈用户交互
2017/05/31 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python 存取npy格式数据实例
2020/07/01 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
外科实习自我鉴定
2013/10/06 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
关于青春的演讲稿
2014/05/05 职场文书
2014学生会工作总结报告
2014/12/02 职场文书
初婚初育证明范本
2015/06/18 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js