菜鸟学习之---日期转换

	public static void main(String[] args) {
		System.out.println(toDateTime("2014-04-9 21:04:09"));
		System.out.println(formatDateTime(new Date(), "yyyy/MM/dd HH:mm:ss"));
		System.out.println(getCurDateTime("yyyy/MM/dd HH:mm:ss"));
	}



	
	/**
	 * 将字符串转化为日期格式
	 * @param strDate   提前格式的字符串
	 * @return   日期
	 */
	public static java.util.Date toDateTime(String strDate){
		java.util.Date returnDate = null;
		if(strDate==null) return returnDate;
		try{
			String strFormat = "yyyy-MM-dd";
			if(strDate.indexOf(":")>0) strFormat ="yyyy-MM-dd HH:mm";  //HH:mm 是24小时制        hh:mm 是12小时制
			if(strDate.indexOf(":")>0 && strDate.lastIndexOf(":")>strDate.indexOf(":")) strFormat="yyyy-MM-dd HH:mm:ss";
			java.text.SimpleDateFormat sdf = new SimpleDateFormat(strFormat);
			returnDate = sdf.parse(strDate);  //转化格式
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return returnDate;
	}
	
	/**
	 * 将日期转化为字符串
	 * @param date     日期
	 * @param dateFormat   转化的日子格式字符串
	 * @return
	 */
	public static String formatDateTime(java.util.Date date,String dateFormat){
		String returnDateStr = "";
		if(date==null) return returnDateStr;
		if(dateFormat==null || dateFormat.equals(""))  dateFormat ="yyyy-MM-dd";   //传入格式为空,则给默认格式
		java.text.SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
		returnDateStr = sdf.format(date);
		return returnDateStr;
	}
	
	/**
	 * 返回当前时间的字符串
	 * @param dateFormat  格式字符串
	 * @return
	 */
	public static String getCurDateTime(String dateFormat){
		String reuturnDateStr = "";
		if(dateFormat==null || "".equals(dateFormat))  dateFormat="yyyy-MM-dd";
		java.text.SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
		java.util.Calendar curDateTime = java.util.Calendar.getInstance();
		reuturnDateStr = sdf.format(curDateTime.getTime());
		return reuturnDateStr;
	}



对于日期的操作,在js页面中经常判断用户输入的字符串是否符合日期格式,下面是用正则表达式判断字符串是否为日期格式

function chkDate(str){  //2012-03-04
	var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/;
	var r = str.match(reg);
	if(r==null) return false;
	r[2]=r[2]-1;
	var d= new Date(r[1], r[2],r[3]);
	if(d.getFullYear()!=r[1] || d.getFullYear()>2049) return false;
	if(d.getMonth()!=r[2]) return false;
	if(d.getDate()!=r[3]) return false;
	return true;
}
function chkDateTime(str){    
	var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/;   //2012-03-04 12:30  
	//var reg = /^(\d+)\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2})$/;    //2012/03/04 12:30 
	var r = str.match(reg); 
	if(r==null) return false; 
	r[2]=r[2]-1; 
	var d= new Date(r[1], r[2], r[3], r[4], r[5]);   
	if(d.getFullYear()!=r[1]) return false;
	if(d.getMonth()!=r[2]) return false;
	if(d.getDate()!=r[3]) return false;
	if(d.getHours()!=r[4]) return false;
	if(d.getMinutes()!=r[5]) return false;
	return true;
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值