开发工具与关键技术:java
作者:陌
撰写时间:2020年 12月28日
一、BigDecimal类 精确计算 不能直接运算double类型双精数,将double类型改为String类型即可,否则不精确eg:
String s2 =“10.0”; BigDecimal b2=new BigDecimal(s2);
如果是正数就取ROUND_UP,负数的话就取ROUND_DOWN
System.out.println(b2.divide(new BigDecimal(3.14),5,BigDecimal.ROUND_CEILING));
最后一位数大于零就前进十:
System.out.println(b2.divide(new BigDecimal(-3.14),7,BigDecimal.ROUND_UP));
最后一位数无论是什么都直接省略:
System.out.println(b2.divide(new BigDecimal(3.14),7,BigDecimal.ROUND_DOWN));
er、Random 类 随机生成数字 eg:
每次随机数都会变: Random rd= new Random();
生成随机数后不变:Random rd1= new Random(10);
随机生成0到9的随机数:rd.nextInt(10);
生成[0,1)的随机数:Math.random();
三、Date 日期类型 eg:
1、默认获取当前日期:Date dt= new Date(); System.out.println(dt);
增加一分钟的日期:Date dt2= new Date(60000);System.out.println(dt2);
获取从1970年 8:00到现在过了几秒:System.currentTimeMillis()
2、 获取当前日期和时间:Date date2=new Date(System.currentTimeMillis());
System.out.println(date2);
获取从1970年 8:00到现在过了几秒:System.out.println(date2.getTime());
加上一分钟的是:date2.setTime(System.currentTimeMillis()+60000);
两个时间比较在前:System.out.println(date2.before(dt));
两个时间比较在后:System.out.println(date2.after(dt));
前后两个时间比:System.out.println(date2.compareTo(dt));
四、Calendar 类 获取日期先声明变量如下:
Calendar c=Calendar.getInstance();
c.setTime(new Date());
输出当前时间:System.out.println(c.getTime());
获取当前天:System.out.println(c.get(Calendar.DAY_OF_MONTH));
获取当天是这一年的第几天:System.out.println(c.get(Calendar.DAY_OF_YEAR));
获取星期几,从星期天开始算:System.out.println(c.get(Calendar.DAY_OF_WEEK));
五、SimpleDateFormat 类 日期格式化:
SimpleDateFormat sdf=new SimpleDateFormat();
获取当前时间:String s=sdf.format(new Date());System.out.println(s);
格式化输出:
HH:24小时格式;hh:12小时格式
SimpleDateFormat sdf1=new SimpleDateFormat(“今天是”+" yyyy 年 MM 月 dd 日 E hh 点 mm 分 ss 秒");
System.out.println(sdf1.format(new Date()));
SimpleDateFormat sdf21=new SimpleDateFormat(“今天是”+" yyyy 年的 第 D 天");
System.out.println(sdf21.format(new Date()));
日期转换:
SimpleDateFormat sdf3=new SimpleDateFormat(“yyyy 年 MM 月 dd 日 hh 点 mm 分 ss 秒”);
String dt=“2000 年 12 月 31 日 12 点 30 分 30 秒”;