日期格式
日期格式看似很多,但其實總的來說,也就分爲兩類,一種就是Date
類型,一類就是最簡單的long
型。這兩種類型可以互相轉化。平常使用的日期格式其實都不是簡單的Date
的實例,需要去轉化。long
類型有一些簡單的使用方面,比如說以當前時間爲一張圖片命名,也可以存當前時間到數據庫中,平常用的日期格式如下,後面會介紹如何輸出這裏的格式。
- 系統當前時間(
long
型) - 2016-05-16(年-月-日)
- 2016-05-16 12:30:10(年-月-日 時:分:秒)
- 20160516(年月日)
java實現
得到
long
型的日期,方法有很多,下面列出幾種:
long time = System.currentTimeMillis(); //調用Sys方法
Date currentTime = new Date(); // Date 類
long time=currentTime.getTime();
輸出結果類似這樣:1464258512937
這種
long
類型的日期格式 ,它表示從1970年開始計算到當前時間所經過的秒數。這類日期格式一般用在保存文件名的時候使用,大部分日期格式最終還是要轉換成平常使用的日期格式,需要用到SimpleDataFormat
類。
Date currentTime=new Date(); //得到當前時間
System.out.println(currentTime); //直接的 Date 對象輸出 Thu May 26 18:02:26 CST 2016 這種格式不常用
使用
simpleDateFormat
格式化Date
類型的日期格式輸出:
2016-05-17 18:23:56
SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
String time=formater.format(currentTime);
System.out.println(time); //
201605
SimpleDateFormat formater=new SimpleDateFormat("yyyyMM");
String time=formater.format(currentTime);
System.out.println(time); //
2016_05_17
SimpleDateFormat formater=new SimpleDateFormat("yyyy_MM_DD");
String time=formater.format(currentTime);
System.out.println(time); //
使用
simpleDateFormat
格式化long
類型的日期格式輸出:
long time=System.currentTimeMillis();
利用
TimeStamp
類實現比較簡單
Timestamp timestamp=new Timestamp(time);
System.out.println(timestamp.toString());
輸出結果:
2016-05-26 18:28:32.937
(string
類型)
String 類型轉化Date
對上面的輸出結果:
2016-05-26 18:28:32.937
(string
類型)可以利用SimpleDateFormat
類的parse
函數去解析成Date
類型。Date date=new SimplDateFormat().parse(String obj);
轉換成Date後可以利用上面提到的方法去格式化
Calendar
可以利用這個類直接獲取當前年月日中的具體某一個
Calendar calendar=Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH);