本文主要介紹java中日期時間的處理,包括獲取時間,時間相加減,格式化等操作。
持續更新中...
時間格式化
//時間格式化 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
獲取當前時間
//獲取當前時間 Date currentTime = new Date(); System.out.println(String.format("系統當前時間:%s",dateFormat.format(currentTime))); //輸出 2019-04-11 11:07:57
時間字符串轉日期類型
//時間字符串轉日期類型,以下時間加減均以此時間為基礎 String strTime = "2019-04-10 18:18:78"; Date fixedTime; try{ //特定時間字符串轉為日期類型,需要處理ParseException異常 //注意,時間字符串格式要與dateFormat定義的一致,否則引發異常 fixedTime = dateFormat.parse(strTime); } catch (ParseException ex){ fixedTime = new Date(); ex.printStackTrace(); } System.out.println(String.format("字符轉換時間:%s,以下時間加減均以此時間為基礎",dateFormat.format(fixedTime))); //輸出 字符轉換時間:2019-04-10 18:19:18,以下時間加減均以此時間為基礎
使用Calendar來實現日期加減1小時,1天,1個月和1年
//使用Calendar來實現加減1小時,1天,1個月和1年 Calendar calendar = Calendar.getInstance(); //指定時間減1小時 calendar.setTime(fixedTime); calendar.add(Calendar.HOUR_OF_DAY, -1); System.out.println(String.format("1小時之前的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間加1小時 calendar.setTime(fixedTime); calendar.add(Calendar.HOUR_OF_DAY, 1); System.out.println(String.format("1小時之后的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間減1天 calendar.setTime(fixedTime); calendar.add(Calendar.DAY_OF_YEAR, -1); System.out.println(String.format("1天之前的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間加1天 calendar.setTime(fixedTime); calendar.add(Calendar.DAY_OF_YEAR, 1); System.out.println(String.format("1天之后的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間減1個月 calendar.setTime(fixedTime); calendar.add(Calendar.MONTH, -1); System.out.println(String.format("1個月之前的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間加1個月 calendar.setTime(fixedTime); calendar.add(Calendar.MONTH, 1); System.out.println(String.format("1個月之后的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間減1年 calendar.setTime(fixedTime); calendar.add(Calendar.YEAR, -1); System.out.println(String.format("1年之前的時間:%s", dateFormat.format(calendar.getTime()))); //指定時間加1年 calendar.setTime(fixedTime); calendar.add(Calendar.YEAR, 1); System.out.println(String.format("1年之后的時間:%s", dateFormat.format(calendar.getTime()))); //輸出 10分鍾之前的時間:2019-04-10 18:09:18 10分鍾之后的時間:2019-04-10 18:29:18 1小時之前的時間:2019-04-10 17:19:18 1小時之后的時間:2019-04-10 19:19:18 1天之前的時間:2019-04-09 18:19:18 1天之后的時間:2019-04-11 18:19:18 1個月之前的時間:2019-03-10 18:19:18 1個月之后的時間:2019-05-10 18:19:18 1年之前的時間:2018-04-10 18:19:18 1年之后的時間:2020-04-10 18:19:18
注意:Calendar.HOUR_OF_DAY是24小時制,Calendar.HOUR是12小時制。