Java 獲取當前系統時間並且格式化輸出

 

一、日期與時間類

  1. Data類

  2. Calendar類

  3. JDK 8 的日期與時間類

二、格式化類

    1.DateFormat 類    抽象類

         四個常量值

FULL:完整格式

LONG:長格式

MEDIUM:普通格式

SHORT:短格式

       格式化:

Date date=new Date();

DateFormat df1 = DateFormat.getDateInstance();//日期格式,精確到日  

System.out.println(df1.format(date));     

 // 2019-11-4

DateFormat df2 = DateFormat.getDateTimeInstance();//可以精確到時分秒  

System.out.println(df2.format(date));      //

2019-11-4 13:56:04

DateFormat df3 = DateFormat.getTimeInstance();//只顯示出時分秒  

System.out.println("只顯示出時分秒:"+df3.format(date));   // 只顯示出時分秒:

13:56:04

DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //顯示日期,周,下午,時間(精確到秒)  

System.out.println("顯示日期,周,上下午,時間(精確到秒):"+df4.format(date));  // 顯示日期,周,上下午,時間(精確到秒):

2019年11月4日 星期一 下午01時56分04秒 CST

DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //顯示日期,上下午,時間(精確到秒)  

System.out.println("顯示日期,上下午,時間(精確到秒):"+df5.format(date)); // 顯示日期,上下午,時間(精確到秒):

2019年11月4日 下午01時56分04秒

DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //顯示日期,下午,時間(精確到分)  

System.out.println("顯示日期,上下午,時間(精確到分):"+df6.format(date));  //顯示日期,上下午,時間(精確到分):

19-11-4 下午1:56

DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //顯示日期,時間(精確到分)  

System.out.println("顯示日期,時間(精確到分):"+df7.format(date));  // 顯示日期,時間(精確到分):

2019-11-4 13:56:04

       解析:

DateFormat dt1 = DateFormat.getDateInstance();

DateFormat dt2 = DateFormat.getDateInstance(DateFormat.LONG);

String str1 = "2019-01-27";

String str2 = "2019 年 01 月 27 日";

System.out.println(dt1.parse(str1));      // Sat Jan 21 00:00:00 CST 2019

System.out.println(dt2.parse(str2));      // Sat Jan 21 00:00:00 CST 2019

    2.SimpleDateFormat 類  

Date day1=new Date();    
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df1.format(day1)); 

    3.DateTimeFormatter 類 (相當於DateFormat與SimpleDateFormat的結合體)

 

 

三、三種格式化方法示例:



/*
//#,##0.00,解決金額小於1時金額顯示格式不正確的問題;比如0.5元,#,###.00格式就會顯示成.50。
double n1 = 123123123.107234;
double n2 = 123123123.5;
String a1 = "$#,###.##";
String a2 = "$#,###.00";
		 
NumberFormat nf1 = new DecimalFormat(a1);
NumberFormat nf2 = new DecimalFormat(a2);
		
System.out.println(nf1.format(n1));//$123,123,123.11
System.out.println(nf2.format(n1));//$123,123,123.11
System.out.println(nf2.format(n2));//$123,123,123.50
	
*/
/*
Date day1=new Date();    
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df1.format(day1)); 

////////////////////////////////////////////////
// * Y:year 2019
//  * 	y:年份後兩位 19
//  * m:mouth 11
//  * 	h:中文月份 十一月
//  * d:day 03
//  * 	D: 英式日期寫法   11/03/19
//  * T:time 22:40:05
//  * H:hour 22
//  * M:minute 40
//  * S:second 05
Date date2 = new Date(System.currentTimeMillis());    
String year2 = String.format("%tY", date2);   
String month2 = String.format("%tm", date2);   
String day2 = String.format("%td", date2); 
String time2 = String.format(" %tT", date2);
System.out.println(year2+"-"+month2+"-"+day2+time2); 
/////////////////////////////////////////////////////////////
Calendar c = Calendar.getInstance();//可以對每個時間域單獨修改   
int year3 = c.get(Calendar.YEAR);  
int month3 = c.get(Calendar.MONTH);   
int date3 = c.get(Calendar.DATE);    
int hour3 = c.get(Calendar.HOUR_OF_DAY);   
int minute3 = c.get(Calendar.MINUTE);   
int second3 = c.get(Calendar.SECOND);    
int week = c.get(Calendar.DAY_OF_WEEK)==1?7:c.get(Calendar.DAY_OF_WEEK)-1; //以週日爲一週的第一天
System.out.println(year3 + "/" + month3 + "/" + date3 + " " +hour3 + ":" +minute3 + ":" + second3 +" 周"+week);   
		
*/
		
/*
Date date=new Date();
DateFormat df1 = DateFormat.getDateInstance();//日期格式,精確到日  
System.out.println(df1.format(date));
DateFormat df2 = DateFormat.getDateTimeInstance();//可以精確到時分秒  
System.out.println(df2.format(date));
DateFormat df3 = DateFormat.getTimeInstance();//只顯示出時分秒  
System.out.println("只顯示出時分秒:"+df3.format(date)); 
DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //顯示日期,周,上下午,時間(精確到秒)  推薦
System.out.println("顯示日期,周,上下午,時間(精確到秒):"+df4.format(date)); 
DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //顯示日期,上下午,時間(精確到秒)  
System.out.println("顯示日期,上下午,時間(精確到秒):"+df5.format(date)); 
DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //顯示日期,上下午,時間(精確到分)  
System.out.println("顯示日期,上下午,時間(精確到分):"+df6.format(date)); 
DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //顯示日期,時間(精確到分)  
System.out.println("顯示日期,時間(精確到分):"+df7.format(date)); 
*/
		
		
/*
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date d1 = df.parse("2019-11-3 23:04:19"); 
//指定日期  
Calendar cal = df.getCalendar(); 
//當前時間  
Calendar cas = Calendar.getInstance(); 
int year = cal.get(Calendar.YEAR);//獲取年份  
int month=cal.get(Calendar.MONTH);//獲取月份  
int day=cal.get(Calendar.DATE);//獲取日  
int hour=cal.get(Calendar.HOUR);//小時  
int minute=cal.get(Calendar.MINUTE);//分  
int second=cal.get(Calendar.SECOND);//秒  
int WeekOfYear = cal.get(Calendar.DAY_OF_WEEK);//一週的第幾天  
System.out.println("現在的時間是:公元"+year+"年"+month+"月"+day+"日      "+hour+"時"+minute+"分"+second+"秒     星期"+WeekOfYear);
*/
/*
Date date=new Date();
DateFormat df= DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
System.out.println(df.format(date));
*/

 


package com.zhiyou.test;

import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class getTimeFormat {
	
	public static void main(String[] args) throws ParseException {
		
		/*
		//#,##0.00,解決金額小於1時金額顯示格式不正確的問題;比如0.5元,#,###.00格式就會顯示成.50。
//		double n1 = 123123123.107234;
//		double n2 = 123123123.5;
//		String a1 = "$#,###.##";
//		String a2 = "$#,###.00";
//		 
//		NumberFormat nf1 = new DecimalFormat(a1);
//		NumberFormat nf2 = new DecimalFormat(a2);
//		
//		System.out.println(nf1.format(n1));//$123,123,123.11
//		System.out.println(nf2.format(n1));//$123,123,123.11
//		System.out.println(nf2.format(n2));//$123,123,123.50
		
		Date day1=new Date();    
		SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
		System.out.println(df1.format(day1));  

		////////////////////////////////////////////////
		// * Y:year 2019
		//  * 	y:年份後兩位 19
		//  * m:mouth 11
		//  * 	h:中文月份 十一月
		//  * d:day 03
		//  * 	D: 英式日期寫法   11/03/19
		//  * T:time 22:40:05
		//  * H:hour 22
		//  * M:minute 40
		//  * S:second 05
		Date date2 = new Date(System.currentTimeMillis());    
		String year2 = String.format("%tY", date2);   
		String month2 = String.format("%tm", date2);   
		String day2 = String.format("%td", date2); 
		String time2 = String.format(" %tT", date2);
		System.out.println(year2+"-"+month2+"-"+day2+time2); 
		/////////////////////////////////////////////////////////////
		Calendar c = Calendar.getInstance();//可以對每個時間域單獨修改   
		int year3 = c.get(Calendar.YEAR);  
		int month3 = c.get(Calendar.MONTH);   
		int date3 = c.get(Calendar.DATE);    
		int hour3 = c.get(Calendar.HOUR_OF_DAY);   
		int minute3 = c.get(Calendar.MINUTE);   
		int second3 = c.get(Calendar.SECOND);    
		int week = c.get(Calendar.DAY_OF_WEEK)==1?7:c.get(Calendar.DAY_OF_WEEK)-1; //以週日爲一週的第一天
		System.out.println(year3 + "/" + month3 + "/" + date3 + " " +hour3 + ":" +minute3 + ":" + second3 +" 周"+week);   
		
		*/
		
		
		Date date=new Date();
		DateFormat df1 = DateFormat.getDateInstance();//日期格式,精確到日  
		System.out.println(df1.format(date));
		DateFormat df2 = DateFormat.getDateTimeInstance();//可以精確到時分秒  
		System.out.println(df2.format(date));
		DateFormat df3 = DateFormat.getTimeInstance();//只顯示出時分秒  
		System.out.println("只顯示出時分秒:"+df3.format(date)); 
		DateFormat df4 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //顯示日期,周,上下午,時間(精確到秒)  推薦
		System.out.println("顯示日期,周,上下午,時間(精確到秒):"+df4.format(date)); 
		DateFormat df5 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //顯示日期,上下午,時間(精確到秒)  
		System.out.println("顯示日期,上下午,時間(精確到秒):"+df5.format(date)); 
		DateFormat df6 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //顯示日期,上下午,時間(精確到分)  
		System.out.println("顯示日期,上下午,時間(精確到分):"+df6.format(date)); 
		DateFormat df7 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //顯示日期,時間(精確到分)  
		System.out.println("顯示日期,時間(精確到分):"+df7.format(date)); 
		
		
		
		/*
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		Date d1 = df.parse("2019-11-3 23:04:19"); 
		//指定日期  
		Calendar cal = df.getCalendar(); 
		//當前時間  
		Calendar cas = Calendar.getInstance(); 
		int year = cal.get(Calendar.YEAR);//獲取年份  
		int month=cal.get(Calendar.MONTH);//獲取月份  
		int day=cal.get(Calendar.DATE);//獲取日  
		int hour=cal.get(Calendar.HOUR);//小時  
		int minute=cal.get(Calendar.MINUTE);//分  
		int second=cal.get(Calendar.SECOND);//秒  
		int WeekOfYear = cal.get(Calendar.DAY_OF_WEEK);//一週的第幾天  
		System.out.println("現在的時間是:公元"+year+"年"+month+"月"+day+"日      "+hour+"時"+minute+"分"+second+"秒     星期"+WeekOfYear);
		*/
	}


}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章