修改easyui datebox默认日期格式
问题描述: 根据jquery easyui datebox demo中给的示例,导入和使用datebox, 发现日期格式为: 6/22/2011, 其他的今天和关闭也是 Today, Close, 对中文用户有些不习惯。
期待效果: 日期格式 2011-06-22 今天 关闭
解决方案: 导入 <script type="text/javascript" src="../locale/easyui-lang-zh_CN.js"></script> 运用国际化定义解决此问题。
最近项目开发中要使用到日期选择框,由于使用了jquery,所以准备使用jquery easyui中的ui控件,找到他的主页,查看datebox的用法:
地址:http://www.jeasyui.com/documentation/datebox.php
Usage
- <input id="dd" type="text"></input>
- $('#dd').datebox({
- required:true
- });
的确很容易就可以弹出日期选择框了。使用的时候发现,她的日期选择框选择的日期格式如图:

日期格式为: 6/22/2011 ,我们平常喜欢使用的格式是“2011-06-22”, 同时 Today, Close 都为英文,要是能改成中文就好了。
于是开始求助百度,找到解决方案有以下两种:
1、在自己的jsp文件里,重载她的方法: formatter 和 parser.
- <script>
- $('#dd').datebox({
- closeText:'关闭',
- formatter:function(date){
- var y = date.getFullYear();
- var m = date.getMonth()+1;
- var d = date.getDate();
- var h = date.getHours();
- var M = date.getMinutes();
- var s = date.getSeconds();
- function formatNumber(value){
- return (value < 10 ? '0' : '') + value;
- }
- alert(formatNumber(h));
- return y+'-'+m+'-'+d+' '+ formatNumber(h)+':'+formatNumber(M)+':'+formatNumber(s);
- },
- parser:function(s){
- var t = Date.parse(s);
- if (!isNaN(t)){
- return new Date(t);
- } else {
- return new Date();
- }
- }
- });
- </script>
有个哥们儿建议的方案是这样,的却这样可以实现修改选择日期格式为: 2011-06-22 中文汉字等功能,但是每个页面都要加这么一个函数怪费劲的,于是想想能不能来个全局的修改,不就省事儿了吗?改一次,全部都可以用。于是找到了第二个解决方案。
第一个方案地址: http://zzx19452008-163-com.iteye.com/blog/894150
2、修改jquery easyui 的源代码
- //------------------格式化时间为 yyyy-MM-dd ---------------------------------------
- $.fn.datebox.defaults.formatter = function(date) {
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- var d = date.getDate();
- return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
- };
- //
- $.fn.datebox.defaults.parser = function(s) {
- if (s) {
- var a = s.split('-');
- var d = new Date(parseInt(a[0]), parseInt(a[1]) - 1, parseInt(a[2]));
- return d;
- } else {
- return new Date();
- }
- };
- 直接加到 jquery.easyui.min.js 最后就可以了,然后找到 $.fn.calendar.defaults 修改为如下格式就OK了。
- $.fn.calendar.defaults = {width:180, height:180, fit:false, border:true, weeks:["一", "二", "三", "四", "五", "六", "日"], months:["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], year:new Date().getFullYear(), month:new Date().getMonth() + 1, current:new Date(), onSelect:function (_6f) {
- }};
觉得这个方案挺好的,修改一次可以全部搞定,虽然有点侵入性。但是不管了,能解决问题就是王道。改完之后,发现没多大反应,解决方案失败。
第二个方案地址: http://www.iteye.com/topic/855905
在修改源代码的过程中,偶然发现在/locale/easyui-lang-zh_CN.js文件里居然有我们要修改的内容,这是什么情况?
难道是搞得国际化多国语言支持?官网上给的demo示例,没有导入国际化的支持啊,试试吧,也许行呢?
源文件里的 datebox demo示例:
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>DateBox - jQuery EasyUI Demo</title>
- <span style="background-color: rgb(153, 255, 255); "><link rel="stylesheet" type="text/css" href="../themes/default/easyui.css">
- <link rel="stylesheet" type="text/css" href="../themes/icon.css">
- <link rel="stylesheet" type="text/css" href="demo.css">
- <script type="text/javascript" src="../jquery-1.7.2.min.js"></script>
- <script type="text/javascript" src="../jquery.easyui.min.js"></script></span>
- <script>
- function disable(){
- $('#dd').datebox('disable');
- }
- function enable(){
- $('#dd').datebox('enable');
- }
- </script>
- </head>
- <body>
- <h2>DateBox</h2>
- <div class="demo-info">
- <div class="demo-tip icon-tip"></div>
- <div>Allow you to select date in your form.</div>
- </div>
- <div style="margin:10px 0;">
- <a href="#" class="easyui-linkbutton" onclick="disable()">Disable</a>
- <a href="#" class="easyui-linkbutton" onclick="enable()">Enable</a>
- </div>
- <input id="dd" class="easyui-datebox" required="true"></input>
- </body>
- </html>
加入/locale/easyui-lang-zh_CN.js:
- <script type="text/javascript" src="../locale/easyui-lang-zh_CN.js"></script>
选择日期。居然得到想要的格式。见图片:

ok, 问题解决。真是感叹这外国人的架构原来设计的这么好用,佩服!
转自:http://blog.csdn.net/walkerjong/article/details/7514026
修改easyui datebox默认日期格式的更多相关文章
- EasyUI修改DateBox和DateTimeBox的默认日期格式
最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类 ...
- EasyUI改动DateBox和DateTimeBox的默认日期格式
近期整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是 ...
- Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法
1.错误原因: date类型不能包含秒以后的精度. 如日期:2010-01-01 20:02:20.0 解决方法:将日期秒以后的精度去除, to_date(substr(INVOICE_DATE,1, ...
- Flex 将默认日期格式转化成通用格式
flex 默认日期格式如:Wed Dec 16 00:00:00 GMT+0800 2015 想要得到的通用格式如:2015-12-16 转换方法如下: var sdate:String = &quo ...
- oracle默认日期格式
有关 Oracle 数据库中支持的语言的完整列表,以及与区域设置相关的信息细节,请参阅 Oracle Database Globalization Support Guide. 默认日期格式 小时.日 ...
- easyui datebox 年月 yyyyMM 格式
//js日期重写ny为 function formatTime(ny){ var p = ny.datebox('panel'), //日期选择对象 tds = false, //日期选择对象中月份 ...
- 修改oracle数据库默认时间格式
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://ccchencheng.blog.51cto.com/2419062/929695 ...
- 修改easyui panel 默认样式
有这么个需求需要修改easyui panel头部中的背景色.于是根据panel中的最终被浏览器解析出来的类名,直接修改这个css样式,设置backgroud-color这个属性,发现不管用. 于是,就 ...
- 使用EasyUI,关于日期格式的文本框按照正常方式获取不到值的问题
这是个小菜在实际工作中遇到的问题,相信很多EasyUI新手很可能也遇到这样的问题,因此小菜觉得有必要拿出来分享一下. 这个问题要从EasyUI的datebox组件说起,小菜用这个组件的时候,发现用$( ...
随机推荐
- System单元对所有与COM相关的声明就这么多,需要倒背如流
是首先是VM表,但是和COM相关的函数地址都废弃了,这几个VM函数具体放在哪里,还得在研究: { Virtual method table entries } vmtSelfPtr = -; vmtI ...
- 事务不提交,也有可能写redo和数据文件
事务不提交,也有可能写redo和数据文件
- 因特网的IP协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?
因特网使用的IP协议是无连接的,因此其传输是不可靠的. 这样easy使人们感到因特网非常不可靠,那为什么当初不直接把它设计为可靠的? 先打一个例如.邮局寄送的平信非常像无连接的IP数据报.每封平信可能 ...
- SQL Server定时自动抓取耗时SQL并归档数据脚本分享
原文:SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据脚本分享 第一步建库 USE [master] GO CREATE DATABA ...
- wkhtmtopdf--高分辨率HTML转PDF(一)
原文:wkhtmtopdf--高分辨率HTML转PDF(一) 一.需求 这次工作中遇到一个需求,要求把网页转换为PDF,穷极了很多的方法,包括尝试了itextsharp来转换,虽然可以实现,但是分辨率 ...
- Patch to solve sqlite3_int64 error when building Python 2.7.3 on RHEL/CentOS
Patch to solve sqlite3_int64 error when building Python 2.7.3 on RHEL/CentOS Patch to solve sqlite3_ ...
- 绝杀600元以下智能手机的夏新小V二代-专栏-速途网
绝杀600元以下智能手机的夏新小V二代-专栏-速途网 绝杀600元以下智能手机的夏新小V二代
- Cocos2dx 3.x创建Layer的步骤
创建 1.新建类文件.注意文件夹为Classes下.否则文件不能正常找到. 2.改动预编译头.如用VS,默觉得#pragma once,为了兼容,改为#ifndef | #define | #endi ...
- python实现人人网用户数据爬取及简单分析
这是之前做的一个小项目.这几天刚好整理了一些相关资料,顺便就在这里做一个梳理啦~ 简单来说这个项目实现了,登录人人网并爬取用户数据.并对用户数据进行分析挖掘,终于效果例如以下:1.存储人人网用户数据( ...
- hdu2050(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050 (1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域. 析:可能你 ...