#JDK8之前的传统日期、时间#
Date
package date_use;
import java.util.Date;
public class Test1Date {
public static void main(String[] args) {
// 目标:掌握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);
//4.直接把日期对象的时间通过setTime方法进行修改
Date d3 = new Date();
d3.setTime(time);
System.out.println(d3);
}
}
SimpleDateFormat
package date_use;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test2SimpleDateFormat {
public static void main(String[] args) throws ParseException {
//目标:掌握SimpleDateFormat的使用
//1.准本一些时间
Date d = new Date();
System.out.println(d);
long time = d.getTime();
System.out.println(time);
//2.格式化日期对象,和时间 毫秒值
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
String rs = sdf.format(d);
System.out.println(rs);
String rs2 = sdf.format(time);
System.out.println(rs2);
System.out.println("---------");
//目标:掌握SimpleDateFormat解析字符串时间 成为日期对象
String dataStr = "2022-12-12 12:12:11";
//1.创建简单日期格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序会出bug
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d2 = sdf2.parse(dataStr);
System.out.println(d2);
}
}
秒杀案例
package date_use;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test3 {
public static void main(String[] args) throws ParseException {
//目标:完成秒杀案例
// 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("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
package date_use;
import java.util.Calendar;
import java.util.Date;
public class Test4Calendar {
public static void main(String[] args) {
//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月份
now.set(Calendar.DAY_OF_YEAR,125);//修改成一年的第125天
System.out.println(now);
//6.为某个信息增加或者减少多少
now.add(Calendar.DAY_OF_YEAR,100);
now.add(Calendar.DAY_OF_YEAR,-10);
System.out.println(now);
}
}