一文解决Java的日期类,数字格式化类等
获取系统当前时间
包:java.util.Date;
- 直接调用无参数构造方法
Date nowtime = new Date(); - 日期的格式化
这时SimpleDateFormat类上场了。
yyyy 年
MM 月
dd 日
HH 时
mm 分
ss 秒
SSS 毫秒
例如:
Date nowtime = new Date();
SimpleDateFormat times = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS);
String nowtime = times.format(nowtime); - 那如果有个日期字符串怎么装换成Date类型。(还记得Python中的日期反转吗,这里不过是用的不同的方法而已)
String time = “2020-3-30 10:15:08:06:666”;
SimpleDateFormat times2 = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss-SSS);
Date dateTime =times.parse(time);//这里会有异常,后期说到说到。 - 获取时间戳(毫秒为单位,1970.1.1,24时到现在的时间)
long nowTimes = System.currentTimeMillis();
要这个有什么作用呢? - 统计一个算法或方法的运行时间。
- 之后的时间戳减去之前的时间戳。
System类
- System.out out是System的相关属性和方法。
- println() 方法不是System类的,是PrintStream类的方法。
- gc() 建议启动垃圾回收器。
- currentTimeMillis() 获取时间戳。
- System.exit(0) 退出JVM.
数字格式化
- 类DecimalFormat
表示任意数字 “#”
代表千分位 " ,"
代表小数 “.”
代表不够时补0 “0”
数字类(BigDecimal)
- BigDecimal 属于大数据,精度极高,不属于基本数据类型,属于java对象(引用数据类型)这是sun提供的类。专门用于财务软件中。
- 在数学包中,java.math.BigDecimal
BigDecimal v1 = new BigDecimal (100);
BigDecimal v2 = new BigDecimal(200);
BigDecimal v3 = v1.add(v2);
其他方法查找帮助文档。
随机数类
- 包 java.util.Random;
- Random random = new Random();
- int num = random.nextInt();
- //产生0到100的数据
int num2 = random.nextInt(101);
练习:生成5个不重复的随机数,放到数组中。
枚举类
- 可是以后开发中可能遇到返回类型不只两种。
枚举可以解决这个问题。 - 可以列举出来的才使用枚举。
-
- 枚举也是一种引用数据类型。
定义:
enum result{
Success ,
Fuailer
}
使用:
result.Success
- 枚举也是一种引用数据类型。