Java经常使用类——Java日期处理类

Date类java

Date类是jdk给咱们提供的标准日期类,在java.util包下;ide

package m01d02;

import java.util.Date;

public class TestDate {

	public static void main(String[] args) {
		Date date=new Date();
		System.out.println(date);
	}
}

 输出结果:3d

能够获取当前的时间,年月日时分秒均可以;code

可是咱们发现格式不太符合中国的时间标准;orm

 

 

Calendar类对象

Calendar是日历类,也是java.util包下的,功能比较强大,能获取到年月日时分秒的具体值;blog

package m01d02;

import java.util.Calendar;

public class TestCalendar {

	public static void main(String[] args) {
	
		Calendar calendar=Calendar.getInstance();
		System.out.println("如今是:"+calendar.get(Calendar.YEAR)+"年"
				+(calendar.get(Calendar.MONTH)+1)+"月"//注意这里的月是从0开始计数,因此要+1
				+calendar.get(Calendar.DAY_OF_MONTH)+"日"
				+calendar.get(Calendar.HOUR_OF_DAY)+"时"
				+calendar.get(Calendar.MINUTE)+"分"
				+calendar.get(Calendar.SECOND)+"秒");
	}
}

输出结果:开发

如今是:2019年1月2日9时58分1秒

 

 

SimpleDateFormat类字符串

 SimpleDateFormat类主要是用做日期类型转换用的,在java.text包下:get

将日期对象转换成字符串;

package m01d02;

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestSimpleDateFormat {

	public static void main(String[] args) {
		Date date=new Date();
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
		SimpleDateFormat sdf1=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
		System.out.println(sdf.format(date));
		System.out.println(sdf1.format(date));
	}
}

能够看到 SimpleDateFormat类的构造方法,直接输出时间;

输出结果:

2019.01.02 10:20:46
2019年01月02日10时20分46秒

 里面的时间格式能够改动,具体格式:

 

在实际开发中,咱们能够将SimpleDateFormat进行功能类的封装:

package m01d02;

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestSimpleDateFormat {
	
	/**
	 * 将日期对象转换成字符串
	 * @param date日期对象
	 * @param format字符串
	 * @return
	 */
	public static String formatDate(Date date,String format){
		String result="";
		SimpleDateFormat sdf=new SimpleDateFormat(format);
		if(date!=null){
			result=sdf.format(date);
		}
		return result;
	}

	public static void main(String[] args) {
		Date date=new Date();
		/*SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
		System.out.println(sdf.format(date));*/
		System.out.println(formatDate(date,"yyyy.MM.dd HH:mm:ss"));
		System.out.println(formatDate(date,"yyyy-MM-dd"));
		System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒"));
	}
}

 咱们将date和format进行封装,输出一个字符串,很是方便;

输出结果:

2019.01.02 15:27:24
2019-01-02
2019年01月02日15时27分24秒

 

还有一个parse类将字符串对象转换成日期对象;

package m01d02;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestSimpleDateFormat {
	
	/**
	 * 将日期对象转换成字符串
	 * @param date  日期对象
	 * @param format  字符串
	 * @return
	 */
	public static String formatDate(Date date,String format){
		String result="";
		SimpleDateFormat sdf=new SimpleDateFormat(format);
		if(date!=null){
			result=sdf.format(date);
		}
		return result;
	}

	/**
	 * 将字符串转换成日期对象
	 * @param dateStr  字符串
	 * @param format  日期对象
	 * @return
	 * @throws ParseException
	 */
	public static Date formatStr(String dateStr,String format) throws ParseException{
		SimpleDateFormat sdf=new SimpleDateFormat(format);
		return sdf.parse(dateStr);
	}
	
	public static void main(String[] args) throws ParseException {
		Date date=new Date();
		/*SimpleDateFormat sdf=new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
		System.out.println(sdf.format(date));*/
		System.out.println(formatDate(date,"yyyy.MM.dd HH:mm:ss"));
		System.out.println(formatDate(date,"yyyy-MM-dd"));
		System.out.println(formatDate(date,"yyyy年MM月dd日HH时mm分ss秒"));
		System.out.println("*****************************");
		
		String dateStr="1997.01.05 15:27:24";
		//调用formatStr方法,返回一个日期对象
		Date date2=formatStr(dateStr,"yyyy.MM.dd HH:mm:ss");
		System.out.println(formatDate(date2,"yyyy.MM.dd HH:mm:ss"));
	}
}

输出结果:

2019.01.02 16:10:54
2019-01-02
2019年01月02日16时10分54秒
*****************************
1997.01.05 15:27:24

能够看到已经将字符串转换成日期对象了 

相关文章
相关标签/搜索