date.js

来自「这是一个用java三层框架做的ISS学员管理系统」· JavaScript 代码 · 共 90 行

JS
90
字号
/**
* 判断字符串是否是有效的日期
* 日期分隔符为"-"或"/"
* 姜敏
*/
function isDate(input){
    if(isEmpty(input))  return false;
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
    var result = input.match(reg);
    if(result == null)return false;
    var date = new Date(result[1],result[3]-1,result[4])
    return ((date.getFullYear()==parseInt(result[1],10))
          &&(date.getMonth()==parseInt(result[3],10)-1)
          &&(date.getDate()==parseInt(result[4],10)));
}

/**
* 格式化字符串为"yyyy-MM-dd"或"yyyy/MM/dd"格式
* 姜敏
*/
function toDate(input){
    if(isEmpty(input))  return "";
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
    var result = input.match(reg);
    if(result == null)return "";
    var date = new Date(result[1],result[3]-1,result[4])
    if((date.getFullYear()==parseInt(result[1],10))
     &&(date.getMonth()==parseInt(result[3],10)-1)
     &&(date.getDate()==parseInt(result[4],10))){
        var year=date.getFullYear().toString(10);
        var month=(date.getMonth()+1<10) ? "0"+(date.getMonth()+1).toString(10) : (date.getMonth()+1).toString(10);
        var day=(date.getDate()<10) ? "0"+date.getDate().toString(10) : date.getDate().toString(10);
        return year + result[2] + month + result[2] + day;
    }
    else{
      return "";
    }
}

function convertDate(str){
  if(isDate(str)){
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
    var result = str.match(reg);
    var date = new Date(result[1],result[3]-1,result[4]);
    return date;
  }
  else{
    return null;
  }
}

/**
* 判断字符串是否是有效的年和月
* 日期分隔符为"-"或"/"
* 姜敏
*/
function isMonth(input){
    if(isEmpty(input)) return false;
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})$/;
    var result = input.match(reg);
    if(result == null)return false;
    var date = new Date(result[1],result[3]-1,1)
    return ((date.getFullYear()==parseInt(result[1],10))
    	     &&(date.getMonth()==parseInt(result[3],10)-1))
}



/**
* 格式化字符串为"yyyy-MM"或"yyyy/MM"格式
* 姜敏
*/
function toMonth(input){
    if(isEmpty(input))  return "";
    var reg = /^(\d{1,4})(-|\/)(\d{1,2})$/;
    var result = input.match(reg);
    if(result == null) return "";
    var date = new Date(result[1],result[3]-1,1)
    if((date.getFullYear()==parseInt(result[1],10))
	     &&(date.getMonth()==parseInt(result[3],10)-1)){
        var year=date.getFullYear().toString(10);
        var month=(date.getMonth()+1<10) ? "0"+(date.getMonth()+1).toString(10) : (date.getMonth()+1).toString(10);
        return year + "-" + month;
    }
    else{
      return "";
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?