1.日期选择

只要将class设置成easyui-datebox就可以了,当然前提是已经应用了easyui的js

  1. <input type="text" class="easyui-datebox" id="datetime">
<input type="text" class="easyui-datebox" id="datetime">

2.时间选择

默认的时间选择是精确到年月日时分秒的,只要把class设置成easyui-datetimebox就可以实现

  1. <input type="text" id="datetime1"  class="easyui-datetimebox">
<input type="text" id="datetime1"  class="easyui-datetimebox">
  1. </pre><p>当然他的效果图是这样的:</p><p> <img src="http://img.blog.csdn.net/20160328112415185?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p>所以如果需要自定义他的显示格式的话我们需要自己重写他的format方法:(注意下面红色部分需要加进去)</p><p><pre name="code" class="html"><input type="text" id="datetime" <span style="color:#ff0000;">data-options="<strong>formatter:ww3,parser:w3</strong>"</span> class="easyui-datetimebox">
</pre><p>当然他的效果图是这样的:</p><p> <img src="http://img.blog.csdn.net/20160328112415185?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p>所以如果需要自定义他的显示格式的话我们需要自己重写他的format方法:(注意下面红色部分需要加进去)</p><p><pre name="code" class="html"><input type="text" id="datetime" <span style="color:#ff0000;">data-options="<strong>formatter:ww3,parser:w3</strong>"</span> class="easyui-datetimebox">
  1. <script type="text/javascript">
  2. function ww3(date){
  3. var y = date.getFullYear();
  4. var m = date.getMonth()+1;
  5. var d = date.getDate();
  6. var h = date.getHours();
  7. var str = y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d)+':'+(h<10?('0'+h):h);
  8. return str;
  9. }
  10. function w3(s){
  11. if (!s) return new Date();
  12. var y = s.substring(0,4);
  13. var m =s.substring(5,7);
  14. var d = s.substring(8,10);
  15. var h = s.substring(11,14);
  16. var min = s.substring(15,17);
  17. var sec = s.substring(18,20);
  18. if (!isNaN(y) && !isNaN(m) && !isNaN(d) && !isNaN(h) && !isNaN(min) && !isNaN(sec)){
  19. return new Date(y,m-1,d,h,min,sec);
  20. } else {
  21. return new Date();
  22. }
  23. }
  24. </script>
<script type="text/javascript">
function ww3(date){
var y = date.getFullYear();
var m = date.getMonth()+1;
var d = date.getDate();
var h = date.getHours();
var str = y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d)+':'+(h<10?('0'+h):h);
return str;
}
function w3(s){
if (!s) return new Date();
var y = s.substring(0,4);
var m =s.substring(5,7);
var d = s.substring(8,10);
var h = s.substring(11,14);
var min = s.substring(15,17);
var sec = s.substring(18,20);
if (!isNaN(y) && !isNaN(m) && !isNaN(d) && !isNaN(h) && !isNaN(min) && !isNaN(sec)){
return new Date(y,m-1,d,h,min,sec);
} else {
return new Date();
}
}
</script>

上面代码是将显示格式变成:yyyy-mm-dd HH.也可以根据自己的需要修改上面的代码,比如你要精确到分或者秒,都可以的。下面是效果图:

3.月份选择

easyui自带的是没有月份选择的panel的,所以我们需要修改一下源代码:

  1. <input type="text" id="datetime" >
<input type="text" id="datetime" >

然后在js中:

  1. <script type="text/javascript">
  2. $(function() {
  3. $('#datetime1').datebox({
  4. onShowPanel : function() {// 显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
  5. span.trigger('click'); // 触发click事件弹出月份层
  6. if (!tds)
  7. setTimeout(function() {// 延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
  8. tds = p.find('div.calendar-menu-month-inner td');
  9. tds.click(function(e) {
  10. e.stopPropagation(); // 禁止冒泡执行easyui给月份绑定的事件
  11. var year = /\d{4}/.exec(span.html())[0]// 得到年份
  12. , month = parseInt($(this).attr('abbr'), 10) + 1; // 月份
  13. $('#datetime1').datebox('hidePanel')// 隐藏日期对象
  14. .datebox('setValue', year + '-' + month); // 设置日期的值
  15. });
  16. }, 0);
  17. },
  18. parser : function(s) {// 配置parser,返回选择的日期
  19. if (!s)
  20. return new Date();
  21. var arr = s.split('-');
  22. return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);
  23. },
  24. formatter : function(d) {
  25. var month = d.getMonth();
  26. if(month<=10){
  27. month = "0"+month;
  28. }
  29. if (d.getMonth() == 0) {
  30. return d.getFullYear()-1 + '-' + 12;
  31. } else {
  32. return d.getFullYear() + '-' + month;
  33. }
  34. }// 配置formatter,只返回年月
  35. });
  36. var p = $('#datetime1').datebox('panel'), // 日期选择对象
  37. tds = false, // 日期选择对象中月份
  38. span = p.find('span.calendar-text'); // 显示月份层的触发控件
  39. });
  40. </script>
<script type="text/javascript">
$(function() {
$('#datetime1').datebox({
onShowPanel : function() {// 显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
span.trigger('click'); // 触发click事件弹出月份层
if (!tds)
setTimeout(function() {// 延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
tds = p.find('div.calendar-menu-month-inner td');
tds.click(function(e) {
e.stopPropagation(); // 禁止冒泡执行easyui给月份绑定的事件
var year = /\d{4}/.exec(span.html())[0]// 得到年份
, month = parseInt($(this).attr('abbr'), 10) + 1; // 月份
$('#datetime1').datebox('hidePanel')// 隐藏日期对象
.datebox('setValue', year + '-' + month); // 设置日期的值
});
}, 0);
},
parser : function(s) {// 配置parser,返回选择的日期
if (!s)
return new Date();
var arr = s.split('-');
return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);
},
formatter : function(d) {
var month = d.getMonth();
if(month<=10){
month = "0"+month;
}
if (d.getMonth() == 0) {
return d.getFullYear()-1 + '-' + 12;
} else {
return d.getFullYear() + '-' + month;
}
}// 配置formatter,只返回年月
});
var p = $('#datetime1').datebox('panel'), // 日期选择对象
tds = false, // 日期选择对象中月份
span = p.find('span.calendar-text'); // 显示月份层的触发控件
});

</script>

最后的效果如下图:

最新文章

  1. Sublime搭建Python开发环境
  2. POJ1154
  3. Bugzilla说明
  4. Mac自定义隐藏或显示文件的快捷键
  5. valuestack,stackContext,ActionContext.之间的关系
  6. 关于linux的磁盘管理
  7. CentOS 7.0体验与之前版本的不同
  8. UNITY3D使用NGUI制作自适应UI的总结
  9. android 页面滑动 ViewFlipper,OnGestureListener,OnTouchListener
  10. 数据库导出导入操作(expdp,impdp)
  11. 使用CCUserDefault 推断用户是否是第一次登陆系统及UserDefault全路径的获取
  12. JBPM6教程
  13. python_基础学习_02_拆分文件(spilt)
  14. 什么是MVC ?
  15. 爬虫_拉勾网(解析ajax)
  16. CentOs中玩docker
  17. windows(xshell)免密码登录
  18. thinkphp本地调用Redis队列任务
  19. node.js模块化写法入门
  20. C++暑期学习笔记

热门文章

  1. Java String charAt()方法
  2. OpenStack(企业私有云)万里长征第五步——虚拟机Migrate&amp;Resize
  3. 利用VNC远程登录Linux服务器简易版
  4. Merge使用
  5. Java之字符串String,StringBuffer,StringBuilder
  6. Android之圆点导航的两个案例(ViewPager)
  7. Jmeter连接DB2/ORACLE/MYSQL数据库
  8. C语言基础 - 实现动态数组并增加内存管理
  9. 移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡
  10. Python网络数据采集7-单元测试与Selenium自动化测试