Data
JDK8之前传统的日期和时间
//目标:掌握Date日期类的使用。
//1、创建一个Date的对象:代表系统当前时间信息的。
Date d = new Date();
system.out.println(d);//2、拿到时间毫秒值。
long time = d.getTime();
system.out.println(time);//3、把时间毫秒值转换成日期对象:2s之后的时间是多少。
time += 2* 1000;
Date d2 = new Date(time) ;
system.out.println(d2);//2S后的时间//4、直接把日期对象的时间通过setTime方法进行修改
Date d3 = new Date();
d3.setTime(timep);
system.out.println(d3);
SimpleDataFormat:将日期格式化
//目标:掌握SimpleDateFormat的使用。
//1、准备一些时间
Date d = new Date();
system.out.println(d);
long time = d.getTime();
system.out.println(time);
//2、格式化日期对象,和时间毫秒值。
SimpleDateFormatlsdf = new SimpleDateFormat( pattern:"yyvy年MN月dd日HH:mm:ss EEE a");
string rs = sdf.format(d);
string rs2 = sdf.format(time);
system.out.println(rs);
system.out.println(rs2);
SimpleDateFormat解析字符串时间成为日期对象
//目标:掌握SimpleDateFormat解析字符串时间成为日期对象。
String datestr = "2022-12-12 12:12:11";
//1、创建简单日期格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序会出bug.
SimpleDateFormat sdf2 = new SimpleDateFormat( pattern: "yyyy-MM-dd HH:mm:ss");
Date d2 = sdf2.parse(dateStr);
system. out. println(d2);
SimpleDateFormat秒杀案例
//目标:完成秒杀案例。
// 1、把开始时间、结束时间、小贾下单时间、小皮下单时间拿到程序中来。
String start = "2023年11月11日0:0:0";
String end = "2023年11月11日 0:10:0";
String xj = "2023年11月11日 0:01:18";
String xp = "2023年11月11日0:10:57";//2、把字符串的时间解析成日期对象。
SimpleDateFormat sdf = new SimpleDateFormat( pattern:"yyyy年MM月dd日HH:mm:ss");
Date startDt = sdf.parse(start);
Date endDt = sdf.parse(end);
Date xjDt = sdf.parse(xj);
Date xpDt = sdf.parse(xp);//3、开始判断小皮和小贾是否秒杀成功了。
//把日期对象转换成时间毫秒值来判断
long startTime = startDt.getTime();
long endTime = endDt.getTime();
long xjTime = xjDt.getTime();
long xpTime = xpDt.getTime();
if(xjTime >= startTime && xjTime <= endTime){
system.out.println("小贾您秒杀成功了~~");
}else {
system.out.println("小贾您秒杀失败了~~");
}
if(xpTime >= startTime && xpTime <= endTime){
system.out.println("小皮您秒杀成功了~~");
}else {
System.out.println("小皮您秒杀失败了~" ):
}
Calendar
//日标:掌握Calendar的使用和特点。
//1、得到系统此刻时间对应的日历对象。
Calendar now = Calendar.getInstance();
system.out.println(now);//2、获取日历中的某个信息
int year = now.get(Calendar. YEAR);
system.out.println(year);//取当前年的天数
int days = now.get(Calendar. DAY_OF_YEAR);
system.out.println(days);//3、拿到日历中记录的日期对象。
Date d = now.getTime();system.out.println(d);//4、拿到时间毫秒值
long time = now.getTimeInMillis();
system.out.println(time);//5、修改日历中的某个信息
now.set(Calendar.MONTH,9);//修改月份成为10月份,因为计算机里是从0开始的。
now.set(Calendar.DAY_OF_YEAR,125);//修改成一年中的第125天。
system.out.println(now);//6、为某个信息增加或者减少多少
now.add(Calendar.DAY_OF_YEAR,amount: 100);//当前天数加100天
now.add(calendar. DAY_OF_YEAR,amount: -10);//当前天数减十天
now.add(Calendar. DAY_OF_MONTH,amount: 6);
now.add(Calendar.HOUR,amount: 12);//当前小时加12小时
system.out.println(now);