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
能夠看到已經將字符串轉換成日期對象了