修改DateBox和DateTimeBox的默认日期格式——EasyUI

最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是因为这两个控件没有什么区别,如果你非得说这两个控件有区别,也无非是DateTimeBox控件后面除了基本的年月日之外带上了小时或者分钟或者秒什么的,更何况,这两个控件在进行日期格式化时所采用的方法也是一样的。

DateBox介绍:

Demo实例参看:

http://www.jeasyui.com/demo/main/index.php?plugin=DateBox&theme=default&dir=ltr&pitem=

属性方法介绍参看:

http://www.jeasyui.com/documentation/index.php#

DateTimeBox介绍:

Demo实例参看:

http://www.jeasyui.com/demo/main/index.php?plugin=DateTimeBox&theme=default&dir=ltr&pitem=

属性方法介绍参看:

http://www.jeasyui.com/documentation/index.php#

控件的默认格式:

DateBox控件默认的日期格式是:                           DateTimeBox控件默认日期格式是:

             
                               

这种显示的格式都是:mm/dd/yyyy,对于我们中国人来说,并不适合我们的习惯,同时,他们夹带了“Today”、“Ok”、“Close”等字样,如果就这么给用户使用,虽然说当前这个社会,我们需要面向国际,但软件的使用者还是我们自己中国客户,所以说问题就来了~~~~~

问题一:英文改中文

解决方法:引入easyui-lang-zh_CN.js

下载地址为:http://www.softhy.net/soft/33695.htm

        注意:

第一:Easyui引用js时,要先引入jquery.min.js、其次是jquery.easyui.min.js,最后是easyui-lang-zh_CN.js,存在顺序关系。

第二:引入easyui-lang-zh_CN.js后,相应的提示信息也会改变,同时改变了这两个控件的日期默认显示格式,为:yyyy-mm-dd,效果如下:

问题二:日期格式改正

这两个控件在修改日期格式上都可以采用以下两种方法,我现在已以DateTimeBox为例,说明他们是如何实现的。

方法一:split函数+正则表达式

<div style="margin:20px 0;"></div>
	定义日期格式:
	<input class="easyui-datetimebox" data-options="formatter:ww4,parser:w4" style="width:200px;"> yyyy年mm月dd日hh点</input>
	<script type="text/javascript">
		function ww4(date){
			var y = date.getFullYear();
			var m = date.getMonth()+1;
			var d = date.getDate();
			var h = date.getHours();
			return  y+'年'+(m<10?('0'+m):m)+'月'+(d<10?('0'+d):d)+'日'+(h<10?('0'+h):h)+'点';

		}
		function w4(s){
			var reg=/[\u4e00-\u9fa5]/  //利用正则表达式分隔
			var ss = (s.split(reg));
			var y = parseInt(ss[0],10);
			var m = parseInt(ss[1],10);
			var d = parseInt(ss[2],10);
			var h = parseInt(ss[3],10);
			if (!isNaN(y) && !isNaN(m) && !isNaN(d) && !isNaN(h)){
				return new Date(y,m-1,d,h);
			} else {
				return new Date();
			}
		}
	</script>

显示效果如下:

方法二:substring函数

<div style="margin:20px 0;"></div>
	定义日期格式:
	<input class="easyui-datetimebox" data-options="formatter:ww3,parser:w3" style="width:200px;"> yyyy/mm/dd hh-mm-ss</input>
	<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 min = date.getMinutes();
			var sec = date.getSeconds();
			var str = y+'/'+(m<10?('0'+m):m)+'/'+(d<10?('0'+d):d)+'/'+' '+(h<10?('0'+h):h)+':'+(min<10?('0'+min):min)+':'+(sec<10?('0'+sec):sec);
			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-m-d h-m-s,理由:Substring函数是截取字符串,而在yyyy-m-d hh-mm-ss这种日期格式中m、d、h、m、s可能会存在一位数和二位数,整个日期的长度不固定,因此在截取的时候,选取的字符位置不能固定。

总结

这两种方法的本质一样,不管是哪种解决方式,它的原理都是不变的,主要是借用Formatter和Parser函数,其中Formatter函数使得选择日期后将其格式化为我们需要的格式,Parser是分析字符串的函数,这个函以’date’为参数并返回一个日期。问题来了,不光是要知道它们的解决方式,还要知道它们是怎么产生的,应该怎么从根本上解决这个问题,这些解决方式背后的本质是什么。

修改DateBox和DateTimeBox的默认日期格式——EasyUI

时间: 2024-11-01 01:34:25

修改DateBox和DateTimeBox的默认日期格式——EasyUI的相关文章

EasyUI修改DateBox和DateTimeBox的默认日期格式

最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是因为这两个控件没有什么区别,如果你非得说这两个控件有区别,也无非是DateTimeBox控件后面除了基本的年月日之外带上了小时或者分钟或者秒什么的,更何况,这两个控件在进行日期格式化时所采用的方法也是一样的. DateBox介绍: Demo实例参看: http://www.jeasyui.com/d

ios日期格式转换

转自:http://blog.csdn.net/l_ch_g/article/details/8217725 1.如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型: NSString* string = @"20110826134106"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease]; [inputFormatter set

日期格式符RR和YY的区别

近来有一个应用,连接11g的库,自身逻辑大致是根据日期和其他条件删除表中对应的历史记录,此处日期条件判断未使用to_date(),其中日期和另外一些条件是个复合主键,然后再插入一条新记录(此处日期字段使用to_date(XX, 'DDMONYY')).在测试的时候,测试人员发现一个问题,先手工插入了一条2050年的记录,然后执行应用,发现报主键冲突,再追查是因为原先的记录并未删除,导致新插入的记录主键冲突,看起来很诡异的问题,为何没有删除旧的记录? 原因就在于删除的检索条件中日期使用的是DDMO

iOS 日期格式转换

1.如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型: NSString* string = @"20110826134106"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease]; [inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@&qu

Android系统之路(初识MTK) ------ 默认第一次开机屏幕亮度/日期格式/picture makeer model

今天给大家分享下关于修改MTK平台下系统首次开机的默认屏幕背光亮度,系统语言默认英语情况下修改日期格式,修改拍照属性,具体修改的地方不清楚或者没人告知的 话,请参照之前几篇博客的方法分享,现在直接进入主题 首先我们来修改第一次开机的屏幕亮度 ①修改首次开机的系统默认屏幕背光亮度,我是在该java下修改的------(把注释的地方都去掉,因为注释的地方都是修改了的) packages\apps\Settings\src\com.mediatek.settings\RestoreRotationRe

4.有关日期格式属性修改常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面可以跟:列名、表达式、别名、序号

 1  有关日期格式属性修改 常识 NLS_DATE_FORMAT           DD-MON-RR select sysdate from dual; NLS_CURRENCY                 ¥ 可以通过下面的方式查到上面的格式默认参数: 2  v$nls_parameters SQL>select * from v$nls_parameters; 结果略: 3 修改默认参数 alter session set NLS_DATE_FORMAT='DD-MON-RR'

Oracle修改时间报:ORA-01830: 日期格式图片在转换整个输入字符串之前结束的解决办法

1.错误原因: date类型不能包含秒以后的精度. 如日期:2010-01-01 20:02:20.0 解决方法:将日期秒以后的精度去除, to_date(substr(INVOICE_DATE,1,10),'yyyy-mm-dd')如日期:2010-01-01 20:02:20 2.INSERT INTO TEST2 (C1, C2,c3) VALUES (${v1},${v2},to_date(${v3},'yyyy-mm-dd'));oracle里面不需要以“:”结尾. 3.修改数据库日期

Winpython Spyder template.py模板日期格式的修改

WinPython中自带的Spyder编辑器默认模板文件是template.py,其中显示日期的参数是"%(date)s",创建一个新py文件时,显示的日期格式是英文的,看起来很不习惯. 通过下面的方法可以把日期格式改成"年-月-日 时:分:秒"的形式,或者其它自己喜欢的格式. 1.用文本编辑器打开C:\WinPython-64bit-3.4.3.4\python-3.4.3.amd64\Lib\site-packages\spyderlib\plugins\edi

RDA8810修改默认日期

在做项目时,总是会碰到需要修改系统的默认日期这种要求,现将RDA8810的修改方法和大家分享一下: 一.修改路径kernel/drivers/rtc/rtc-rda.c 二.修改位置: status = __rda_rtc_readl(rtc, STA_REG); if (status & RDA_RTC_STA_NOT_PROG) { tm->tm_sec = 0; tm->tm_min = 0; tm->tm_hour = 0; tm->tm_mday = 1; tm-