Date、String、Calendar類型日期之間的轉化

一.獲取當前時間

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
String dateStr = sdf.format(Calendar.getInstance().getTime());
String dateStr1 = sdf1.format(Calendar.getInstance().getTime());
String dateStr2 = sdf2.format(Calendar.getInstance().getTime());
String dateStr3 = sdf3.format(Calendar.getInstance().getTime());

System.out.println(dateStr);
System.out.println(dateStr1);
System.out.println(dateStr2);
System.out.println(dateStr3);

結果
2020-11-03
2020-11-03 10:25:21
2020年11月03日
2020年11月03日 10:25:21

二.String 時間轉換為得到年月日

String str="2020-5-27";
Date date = null;
try {
    date = sdf.parse(str);
} catch (ParseException e) {
    e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH) + 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

2020
5
27

三.Date 轉化String

String dateStr4 = sdf.format(new Date());
System.out.println(dateStr4);

四.String 轉化Date

String str="2020-5-27";
Date date = null;
try {
    date = sdf.parse(str);
} catch (ParseException e) {
    e.printStackTrace();
}

五.Date 轉化Calendar

long currentTimeMillis = System.currentTimeMillis();
String s = String.valueOf(currentTimeMillis);
System.out.println(sdf1.format(currentTimeMillis));
System.out.println(sdf1.format(Long.valueOf(s)));

2020-11-03 11:26:45
2020-11-03 11:26:45
    
// 10位的秒級別的時間戳
long time1 = 1527767665;
String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
System.out.println("10位數的時間戳(秒)--->Date:" + result1);
Date date1 = new Date(time1*1000);   //對應的就是時間戳對應的Date
// 13位的秒級別的時間戳
double time2 = 1515730332000d;
String result2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time2);
System.out.println("13位數的時間戳(毫秒)--->Date:" + result2);


10位數的時間戳(秒)--->Date:2018-05-31 19:54:25
13位數的時間戳(毫秒)--->Date:2018-01-12 12:12:12
    
//獲取指定時間的時間戳,除以1000說明得到的是秒級別的時間戳(10位)
long time = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse("2018-06-30 20:00:00", new ParsePosition(0)).getTime() / 1000;
 
//獲取時間戳
long now1 = System.currentTimeMillis();
long now2 = new Date().getTime();

System.out.println("獲取指定時間的時間戳:" + time);
System.out.println("當前時間戳:" +now1);
System.out.println("當前時間戳:" +now2);
    
獲取指定時間的時間戳:1530360000
當前時間戳:1527769494340
當前時間戳:1527769494340
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容