- 把下面的代码复制到你的JS里,Date对象就可以直接调用toCommonCase():
-
- Date.prototype.toCommonCase=function(){
- var xYear=this.getYear();
- xYear=xYear+1900;
-
- var xMonth=this.getMonth()+1;
- if(xMonth10){
- xMonth="0"+xMonth;
- }
-
- var xDay=this.getDate();
- if(xDay10){
- xDay="0"+xDay;
- }
-
- var xHours=this.getHours();
- if(xHours10){
- xHours="0"+xHours;
- }
-
- var xMinutes=this.getMinutes();
- if(xMinutes10){
- xMinutes="0"+xMinutes;
- }
-
- var xSeconds=this.getSeconds();
- if(xSeconds10){
- xSeconds="0"+xSeconds;
- }
- return xYear+"-"+xMonth+"-"+xDay+" "+xHours+":"+xMinutes+":"+xSeconds;
- }
2、日期格式校验
- //判断输入的内容是否为日期格式
- function checkDateFormate(Field) {
- var inputDateValue = Field.value;
- var desc = Field.description;
- if(inputDateValue == null || inputDateValue == '') {
- return false;
- }
-
- //获取输入字符串的长度
- var inputValueLength = inputDateValue.length;
- //如果满足下面判断的所有条件才算合法的日期,否则不合法
- if(checkNumeric(inputDateValue) && checkLegth(inputValueLength) && checkSpecialChar(inputDateValue) ) {
- return true;
- }else {
- errorMessage("请输入合法的" + desc +"\n类型为日期,格式为YYYY-MM-DD 或者YYYYMMDD");
- Field.focus();
- return false;
- }
- }
-
- //日期只能是8~10位
- function checkLegth(length) {
- if(length 8 || length > 10) {
- return false;
- }
- return true;
- }
-
- //如果输入的内容中包含‘-’,则按照‘-’分割来去年月日,否则直接按照位数取
- function checkSpecialChar(inputDateValue) {
- var index = inputDateValue.indexOf('-');
- var year = 0;
- var month = 0;
- var day = 0;
- if(index > -1) {
- var lastIndex = inputDateValue.lastIndexOf('-');
- //只能是YYYY-M-DD或者YYYY-MM-DD的形式
- if(lastIndex - index 1 || lastIndex - index > 3) {
- return false;
- }
- var arrDate = inputDateValue.split('-');
- year = arrDate[0];
- month = arrDate[1];
- day = arrDate[2];
- } else {
- year = inputDateValue.substring(0,4);
- month = inputDateValue.substring(4,6);
- day = inputDateValue.substring(6,8);
- }
- if(Number(month) > 12 || Number(day) > 31 ||Number(month)1
- || Number(day)1 || year.length != 4) {
- return false;
- } else if(day > getLastDayOfMonth(Number(year),Number(month))) {
- return false;
- }
- return true;
- }
-
- //判断输入的内容将‘-’替换成为数字1后,是否全部为数字
- function checkNumeric(inputDateValue) {
- var replacedValue = inputDateValue.replace(/-/g,'1');
- return isNumeric(replacedValue);
- }
-
- //判断是否为数字
- function isNumeric(strValue)
- {
- var result = regExpTest(strValue,/\d*[.]?\d*/g);
- return result;
- }
-
- function regExpTest(source,re)
- {
- var result = false
-
- if(source==null || source=="")
- return false;
- if(source==re.exec(source))
- result = true;
- return result;
- }
-
-
- //获得一个月中的最后一天
- function getLastDayOfMonth(year,month){
- var days=0;
- switch(month){
- case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31;break;
- case 4: case 6: case 9: case 11: days=30;break;
- case 2: if(isLeapYear(year)) days=29;else days=28;break;
- }
- return days;
- }
-
- //判断是否为闰年
- function isLeapYear(year){
- if((year %4==0 && year %100!=0) || (year %400==0)) return true;
- else return false;
- }
3、字符串转日期
- function strToDate(str)
- {
- var arys= new Array();
- arys=str.split('-');
- //1月份是用0来表示的,所以2002年10月12日,应表示为2002-9-12
- var newDate=new Date(arys[0],arys[1]-1,arys[2]);
- return newDate;
- }
4、日期转字符串
- function strToDate(str)
- {
- var val=Date.parse(str);
- var newDate=new Date(val);
- return newDate;
- }
5、自己写的jQuery时间判断,使用了上面的某些函数
- $(":button").click(function(){
- if($(":text:eq(0)").val() =='' ||$(":text:eq(1)").val() =='' ){
- alert("请先填写查询时间!");
- return false;
- }checkSpecialChar
- if(!checkSpecialChar($(":text:eq(0)").val()) || !checkSpecialChar($(":text:eq(0)").val()) ){
- alert("时间格式错误!");
- return false;
- }
- var arys1= new Array();
- var arys2= new Array();
- arys1=$(":text:eq(0)").val().split('-');
- arys2=$(":text:eq(1)").val().split('-');
-
- //1月份是用0来表示的,所以2002年10月12日,应表示为2002-9-12
- var newDate1 = new Date(arys1[0],arys1[1]-1,arys1[2]);
- var newDate2 = new Date(arys2[0],arys2[1]-1,arys2[2]);
-
- if(newDate1 > newDate2 ){
- alert("起始日期不能大于终止日期!");
- return false;
- }
- $("form[name='form1']").submit();
- });