枚举 和日期类

1、枚举:jdk1.4
关键字 :enum enumeration:枚举
public enum Gender{
//枚举值
相当于静态常量
MALE,
FEMALE
}

调用:Gender.MALE
作用:为属性提供一个值的范围
1.声明一个枚举类型
2.使用枚举类型
3.转换
如何将一个字符串转枚举
//将String MALE–>转成Gender.MALE
//1.将sex转成大写
sex=sex.toUpperCase();
//2.使用转值的方法 字符串–》枚举 :枚举的valueof
Gender gender=Gender.valueOf(sex);//静态方法
Person p=new Person(name,age,gender);

如何讲一个枚举值转字符串
//2.1获取所有枚举值
Gender [] values=Gender.values();
for(Gender g:values){
//将枚举值转成字符串
System.out.println(g.toString());

2、日期
日期相关的api:
a.java.util.Date 日期
b.java.util.Calender 日历
c.java.text.SimpleDateFormat 日期格式化

Date:
保存日期信息,已经弱化了其他功能(Calender)
java.util.Date 父类
java.sql.Date 子类
// 1.构建对象
//1.1 当前系统时间(时区,年,月,日,小时,分钟,秒,毫秒,星期几)
Date date=new Date();
System.out.println(date);
//1.2 使用毫秒数构建对象 明天
Date date2=new Date(date.getTime()+10006060*24);
System.out.println(date2);
System.currentTimeMillis();//获取系统当前时间
//2.常用方法
//2.1获取date对应的从1970-01-01:0:0:0:0 开始统计的一个数据
long mills=date.getTime();//setTime()
//2.2 比较时间(大小)
System.out.println(date.compareTo(date2));//-1 和String一致
//2.3比较前后
System.out.println(date.before(date2));//true
System.out.println(date.after(date2));//false

Calender:
可以获取并且灵活的操作日期中的某一部分( // 1.构建对象
//系统当前时间
Calendar calendar=Calendar.getInstance();

//2.常用的方法
//2.1获取日期的信息
//a.年
int year=calendar.get(Calendar.YEAR);
//b.月
int month=calendar.get(Calendar.MONTH);//2:0~11
//c.日
int date=calendar.get(Calendar.DATE);
System.out.println(year+","+month+","+date);
//d.时分秒,毫秒
//e.星期
int day=calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(“星期”+day);//**5:1(星期天)~7 星期天是1
//f.某一天是周几
//e.月份的最大天数
int maxday=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(maxday);//31

//2.2设置日期
//1.更换日期(部分)
//2020-3-1
calendar.set(Calendar.DATE, 1);
System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//周日

//2019-12-25
calendar.set(2019, 12-1,25);
//将日期转成毫秒数
long mills=calendar.getTimeInMillis();
//今天的毫秒数
long todayMills=System.currentTimeMillis();

long span =Math.abs(todayMills-mills);
int days=(int )(span/1000/60/60/24);
System.out.println(“他们认识了”+days+" 天");年,月,日)

SimpleDateFormat:
美化,做展示
Date date =new Date();
System.out.println(date);
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss S E”);
//1.将Date转成字符串
String dateStr=sdf.format(date);
System.out.println(dateStr);
//2.将字符串转成日期,一定要注意数据的格式和sdf格式一致
Date date2=sdf.parse(“2020-03-26 17:02:05 770 星期四”);//parse 转换的方法一定要注意数据格式
System.out.println(date2);

//小练习:从身份证上截取一段数据,然后计算用户的年龄
String birthStr=“19980110”;
SimpleDateFormat sdf2=new SimpleDateFormat(“yyyyMMdd”);
Date birth=sdf2.parse(birthStr);
int year =(int)((System.currentTimeMillis()-birth.getTime())/1000/60/60/24/365);
System.out.println(year+“周岁”);

3、强化方法
方法的递归

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值