数字格式化
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转成字符串: " + format); 6 LocalDateTime parse = LocalDateTime.parse(format, pattern); 7 System.out.println("字符串转成LocalDateTime: " + 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);
- 举个例子:LocalDateTime不好直接转成Calendar,可以通过String,Date进行中转