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);

       

posted @ 2020-07-11 15:00  细雨轻风  阅读(4229)  评论(0编辑  收藏  举报