smarty内部日期函数html_select_date()用法实例分析


Posted in PHP onJuly 08, 2015

本文实例讲述了smarty内部日期函数html_select_date()的用法。分享给大家供大家参考。具体如下:

主要属性:

prefix         //string类型 默认前缀名为"Date_"
start_year     //string类型 默认为当前年份 仍可以用(+/-N)模式表示 如start_year="-10" option就从1998年开始
end_year     //string类型 默认同上 可用(+/-N)模式表示 如end_year="+5" option就到2013为止
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 2000)

<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 相关文章推荐
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
通俗易懂的php防注入代码
Apr 07 PHP
php数组一对一替换实现代码
Aug 31 PHP
php批量上传的实现代码
Jun 09 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
thinkphp的c方法使用示例
Feb 24 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
crontab无法执行php的解决方法
Jan 25 PHP
PHP session会话操作技巧小结
Sep 27 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
php类的定义与继承用法实例
Jul 07 #PHP
php抽象类用法实例分析
Jul 07 #PHP
PHP导入导出Excel代码
Jul 07 #PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 #PHP
10条php编程小技巧
Jul 07 #PHP
php实现的任意进制互转类分享
Jul 07 #PHP
Apache服务器下防止图片盗链的办法
Jul 06 #PHP
You might like
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
Php图像处理类代码分享
2012/01/19 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
详解Python3中yield生成器的用法
2015/08/20 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
Python检查ping终端的方法
2019/01/26 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
python全栈知识点总结
2019/07/01 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
大学生的四年学习自我评价
2013/12/13 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
小学科学教学计划
2015/01/21 职场文书
专项资金申请报告
2015/05/15 职场文书
微观世界观后感
2015/06/10 职场文书
教师远程培训心得体会
2016/01/09 职场文书
如何在Python项目中引入日志
2021/05/31 Python
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
Elasticsearch 索引操作和增删改查
2022/04/19 Python