Java數字、日期、字符串之間的轉換


數字格式化

 1 private static void f() {
 2     //保留兩位小數:四舍五入
 3     DecimalFormat decimalFormat = new DecimalFormat(".##");
 4     String format = decimalFormat.format(12.123476);
 5     //12.12
 6     System.out.println(format);
 7 
 8     //保留兩位小數:百分比形式
 9     decimalFormat=new DecimalFormat(".##%");
10     String format1 = decimalFormat.format(12.123546);
11     //1212.35%
12     System.out.println(format1);
13     //每三位加入,分隔符 同時不保留位數(四舍五入)
14     decimalFormat=new DecimalFormat(",###");
15     String format2 = decimalFormat.format(1235467890.56);
16     //1,235,467,891
17     System.out.println(format2);
18      //每三位加入,分隔符 同時保留3位小數(四舍五入)
19     decimalFormat=new DecimalFormat(",###.###");
20     String format3 = decimalFormat.format(123456.123456);
21     //123,456.123
22     System.out.println(format3);
23 }

日期格式化

 1 LocalDateTime now = LocalDateTime.now();
 2 DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 3 //LocalDateTime--->字符串
 4 String format = pattern.format(now);
 5 System.out.println("LocalDateTime轉成字符串:\t" + format);
 6 LocalDateTime parse = LocalDateTime.parse(format, pattern);
 7 System.out.println("字符串轉成LocalDateTime:\t" + parse);
 8 
 9 /*Calendar和String的互相轉換*/
10 Calendar calendar = Calendar.getInstance();
11 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
12 //Calendar--->Date--->String
13 Date date = calendar.getTime();
14 System.out.println(sdf.format(date));//2020-07-10 19:17:42
15 //String--->Date--->Calendar
16 String str="2020-07-10 19:17:42";
17 Date date1 = sdf.parse(str);
18 calendar.setTime(date1);
19 System.out.println(calendar);

日期格式之間的轉換

 1 private static void f8() {
 2     //LocalDateTime類
 3     LocalDateTime now = LocalDateTime.now();
 4     System.out.println(now);//2020-07-10T16:49:57.962
 5 
 6     /*LocalDateTime可以直接轉換成LocalDate,LocalTime*/
 7     LocalDate localDate = now.toLocalDate();
 8     LocalTime localTime = now.toLocalTime();
 9 
10     System.out.println(localDate);//2020-07-10
11     System.out.println(localTime);//16:52:54.369
12 
13     //Calendar類
14     Calendar calendar = Calendar.getInstance();
15     calendar.set(2020,1,1,12,0,0);
16 
17     /*Calendar轉成Date*/
18     Date date = calendar.getTime();
19     System.out.println(date);//Sat Feb 01 12:00:00 CST 2020
20 
21     /*Date轉成Calendar*/
22     Calendar calendar1 = Calendar.getInstance();
23     calendar1.setTime(date);
24     System.out.println(calendar1);
.. 43   //Date--->Instant 44   Instant instant = Instant.ofEpochMilli(date.getTime()); 45   System.out.println(instant);//2020-07-10T11:32:27.831Z 46   //String--->Instant 47   Instant parse1 = Instant.parse("2020-07-10T11:32:27.831Z"); 48   System.out.println(parse1);//2020-07-10T11:32:27.831Z

個人覺得比較有用的:

  • Calendar轉成Date

    • Date date = calendar.getTime();

  • Date轉成Calendar

    • Calendar calendar1 = Calendar.getInstance();

    • calendar1.setTime(date);

  •  終極大殺器:日期類先轉成String,再由String轉成其他日期類
    • 舉個例子:LocalDateTime不好直接轉成Calendar,可以通過String,Date進行中轉
       1 LocalDateTime localDateTime = LocalDateTime.of(2020, 7, 11, 12, 0);
       2 //LocalDateTime--->String
       3 String string = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
       4 //String--->Date
       5 Calendar calendar = Calendar.getInstance();
       6 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       7 Date parse = sdf.parse(string);
       8 //Date--->Calendar
       9 //即:LocalDateTime--->String,String--->Date,Date--->Calendar
      10 calendar.setTime(parse);

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM