格式化以及日期工具类

格式化以及日期工具类

NumberFormat格式化

货币格式化

 NumberFormat nf1=NumberFormat.getCurrencyInstance();//获取当前时区货币
   nf1.setMaximumFractionDigits(1);//保留多少位小数
   System.out.println(nf1.format(111));//¥111.0

百分数格式化

NumberFormat nf = NumberFormat.getPercentInstance();//格式化数字为百分数
nf.setMinimumFractionDigits(4);//设置最小保留小数位
nf.setMaximumFractionDigits(2);//设置最大保留小数位
System.out.println(nf.format(.77222));//77.22%

运用DecimalFormat格式化

DecimalFormat df = new DecimalFormat();//将数字类型转为String类型
 System.out.println(df1.format(11111));//11,111
//当然也有前面几种保留最大最小小数位等。
 DecimalFormatSymbols dfs = new DecimalFormatSymbols();//更改分隔符
 dfs.setGroupingSeparator('-');//设置分隔符
 DecimalFormat df = new DecimalFormat("#,###.00", dfs);
 df.setPositivePrefix("¥");//在第一位数字前面添加符号
 System.out.println(df.format(111123232.3232));//¥111-123-232.32

日期工具类

时间戳 是一个long的整数

java.util.Date

格式化日期输出如下格式:2022年12月20日 11:43:34 十二月 星期二

Date date=new Date();
SimpleDateFormat s1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss MMMM EEEE");
System.out.println(s1.format(date));

java.util.Calendar

计算自己来到世界多少天

Calendar calendar=Calendar.getInstance();
calendar.set(1999,07-1,16);//calendar中的set日期时,月份是从0-11开始算的,所以自己的月份-1
System.out.printf("%tF %<tT%n",calendar);//1999-07-16 15:23:38
long old=calendar.getTimeInMillis();//出生日期时间戳
long now=System.currentTimeMillis();//当前时间戳
System.out.println((now-old)/(1000*60*60*24));//8558

计算某年某月某日是星期几

Calendar c1= Calendar.getInstance();//获得一个Calendar对象
c1.set(2001,8,05);//设置2001年9月5日时间点
System.out.printf("%tF %<tT %<tA %n",c1);//2001-09-05 15:23:38 星期三  格式化输出

输出当前日期前七天和当前日期后其他的日期

Calendar c2=Calendar.getInstance();
c2.add(Calendar.DATE,-7);//当前日期前7天
System.out.printf("%tF %<tT %<tA%n",c2);//2022-12-13 15:23:38 星期二
Calendar c3=Calendar.getInstance();
c3.add(Calendar.DATE,3);//当前日期3天
System.out.printf("%tF %<tT %<tA",c3);//2022-12-23 15:23:38 星期五

格式化日期输出如下格式:2022年12月20日 11:43:34 十二月 星期二

Calendar c1=Calendar.getInstance();
String m=c1.getDisplayName(Calendar.MONTH,Calendar.LONG_FORMAT, CHINESE);//12月
String w=c1.getDisplayName(Calendar.DAY_OF_WEEK,Calendar.LONG_FORMAT, CHINESE);//星期二
System.out.printf("%tY年%<tm月%<td日 %<tT %s %s %n",c1,m,w);//2022年12月20日 20:17:03 十二月 星期二 

java.util.LocalDate

计算自己来到世界多少天

LocalDate d1=LocalDate.now();//获取当前时间
System.out.println(d1.getMonth().getDisplayName(TextStyle.FULL, Locale.CHINESE));//获取当前月份
System.out.println(d1.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINESE));//获取当前星期
//计算自己来到世界多少天
var d2=LocalDate.of(1999,7,16);
long days = ChronoUnit.DAYS.between(d2,d1);
System.out.println(days);//8558

计算某年某月某日是星期几

var d4=LocalDate.of(2001,9,05);//设置2001年9月5日
System.out.println(d4);//2001-09-05
System.out.println(d4.getDayOfWeek().getDisplayName(TextStyle.FULL,Locale.CHINESE));//星期三

输出当前日期前七天和当前日期后其他的日期

LocalDate d3=LocalDate.now();//获取当前日期  2022-12-20
System.out.println(d3.plusDays(-7));//获取七天前七日 2022-12-13
System.out.println(d3.plusDays(3));//获取3天后日期 2022-12-23

java.util.LocalTime

java.util.LocalDateTime

格式化日期输出如下格式:2022年12月20日 11:43:34 十二月 星期二

LocalDateTime ld1=LocalDateTime.now();
DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss MMMM EEEE");//专业格式工具类
System.out.println(df.format(ld1));

猜你喜欢

转载自blog.csdn.net/qq_59088934/article/details/128390173