常用类枚举和DATE的介绍
1 常用类
日期时间类
时间戳的内容:就是距离特定时间的时间间隔。,本质上也是一种整形(long)。
例如:计算机时间戳就是距离历元(1970-01-01 00:00:00:000)的时间间隔。
世界标准时间(GMT又称UT),格林尼治时间,世界协调时。
我国位于时区的东八区。
Date
类 Date 表示特定的瞬间,精确到毫秒。
Date 类本质上拥有一个long fastTime属性的包装类,提供了很多属性和方法用于快速获取年月日、时分秒。而fastTime就是时间戳。
p ublic static void main(String[] args) {
Date date =new Date();
System.out.println(date);
long time =date.getTime();
System.out.println(time);
long g =0;
Date date1 =new Date(g);
}
日期时间的格式化
[1]把Date对象格式化成特定的字符串
SimpleDateFormat df = new SimpleDateFormat();
String dateStr = df.format(date);
System.out.println(dateStr);
[2]把特定的格式的字符串解析成Date对象
public static void main(String[] args) {
String str = "2019-04-29 15:48:00";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 把子串->Date
try {
Date date = df.parse(str);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
Calendar
calendar是日历类,本质内部拥有一个属性long time。表示该日历所具体的时间戳。同时calendar内部通过对时间的运算出很多日历字段,把这些日历字段存在一个容器中,并提供set/get方法用设置或者访问这些字段。
因为calendar是一个抽象类,所以只能用工厂设计模式构建一个对象。
calendar cal =calendar.getInstance();
System.out.println(cal.toString());
下列一些具体获取的对象的具体方法:
// 获取年
System.out.println(cal.get(Calendar.YEAR));
// 获取月,索引从0开始,0-表示1月
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
// 时
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
// 分
System.out.println(cal.get(Calendar.MINUTE));
// 秒
System.out.println(cal.get(Calendar.SECOND));
System.out.println(cal.get(Calendar.MILLISECOND));
// 获取星期 一周的第一天是周日开始
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
// 本月的第一天和本月的最后一天
System.out.println(cal.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Math
math类包含用于执行基本数学运算的方法。例如随机数 平方 立方 以及圆等等。
例如:
pow(x,y)表示x的y次方。
System.out.println(Math.pow(2, 3));
Math.random随机数
加入要产生闭区间【m,n】,
(int)(Math.random()*(n-m+1))+m;
枚举
枚举简介
枚举是由一组固定的常量组成的类型,自定义数据类型。语法:
[修饰符] enum enumName{
常量值1,
常量值2,
....
常量值n;
}
枚举的常量值一定是可列举的有限值,常量值的类型都是 public static final。
枚举和字符串转化
public static void main(String[] args) {
// 声明一个Gender枚举类型的变量gender,并取值为男
Gender gender = Gender.男;
// 枚举值->字符串
System.out.println(gender.toString());
// 字符串串-> 枚举值
String str = "保密";
// 可能产生IllegalArgumentException 非法参数异常
Gender gender2 = Enum.valueOf(Gender.class, str);
System.out.println(gender2);
}
总结
- 只能够取特定值中的一个
- 使用enum关键字
- 所有的枚举类型隐性地继承自 java.lang.Enum。(枚举实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final的。可以直接通过枚举类型名直接使用它们。)
- 强烈建议当你需要定义一组常量时,使用枚举类型