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

能夠看到已經將字符串轉換成日期對象了 

相關文章
相關標籤/搜索