java.util.Data类
|---java.sql.Data类
1.两个构造器的使用
构造器一:Data():创建一个对应当前时间的Data对象
构造器二:创建指定毫秒数的Data对象
2.两个方法的使用:
toString():显示当前的年、月、日、时、分、秒
getTime():获取当前Data对象对应的毫秒数(时间戳)
3.java.sql.Data对应着数据库中的日期类型的变量
3.java.sql.Data对应着数据库中的日期类型的变量
如何实例化
如何将java.util.Data对象转换为java.sql.Data对象
Date date6 = new Date();
java.sql.Date date2 = new java.sql.Date(date1.getTime());
System.out.println(date2);
/*
日历类的使用
*/
public class CalendarDemo {
@Test
public void testCalendar() {
// 1.实例化
// 方式一:创建其子类(GregorianCalendar)的对象
// 方式二:调用其静态方法getInstance()
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getClass());
// 2.常用方法
// get()
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
// set()
calendar.set(Calendar.DAY_OF_YEAR, 206);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
// add() /减加负号
calendar.add(Calendar.DAY_OF_YEAR, 3);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
// getTime():日历类-->Date
Date date = calendar.getTime();
System.out.println(date);
// setTime():Date---->日历类
Date date1 = new Date();
calendar.setTime(date1);
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
}
}
/*
jdk8.0之前的日期时间的API测试
1.System.currentTimeMillis();
2.java.util.Data和子类java.sql.Date
3.SimpleDateFormat
4.Calendar
*/
public class SimDateFormatDemo {
// 练习二:三天打鱼两天晒网 19990-0-1到随机输入一个日期,渔夫在打鱼还是晒网
public static void main(String[] args) throws ParseException {
String str1 = "1990-01-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(str1);
long time1 = date.getTime();
Scanner scan = new Scanner(System.in);
System.out.println("请输入年份:");
String year = scan.next();
System.out.println("请输入月份:");
String month = scan.next();
System.out.println("请输入日期:");
String day = scan.next();
String str2 = year + "-" + month + "-" + day;
// System.out.println(str2);
Date date2 = sdf.parse(str2);
long time2 = date2.getTime();
System.out.println(time1);
System.out.println(time2);
long l = (time2 - time1) / (1000 * 60 * 60 * 24) + 1;
System.out.println(l);
long l1 = l % 5;
System.out.println(l1);
if (l1 == 1 || l1 == 2 || l1 == 3) {
System.out.println("打鱼");
} else if (l1 == 4 || l1 == 0) {
System.out.println("晒网");
}
}
/*
SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析1
1.两个操作:
1.1:格式化:日期--->字符串
1.2:解析:格式化的逆过程,字符串--->日期
2.SimpleDateFormat的实例化
*/
@Test
public void testSimpleDateFormat() throws ParseException {
// 实例化SimpleSDateFormat:使用默认的构造器
SimpleDateFormat sdf = new SimpleDateFormat();
// 日期--->字符串
Date date = new Date();
System.out.println(sdf.format(date));
// 字符串--->日期
String str = "2021/12/1 下午9:52";
Date date1 = sdf.parse(str);
System.out.println(date1);
// **************按照指定方式进行格式化:调用带参的构造器**************
// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MMMM-dd GGG HH:mm aa");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 格式化
String format = sdf1.format(date);
System.out.println(format);
// 解析
Date parse = sdf1.parse("2021-12-01 22:01:46");
System.out.println(parse);
}
/*
要求:字符串”2020-09-08“转换为java.sql.Date
*/
@Test
public void testExer() throws ParseException {
String birth = "2020-09-08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(birth);
System.out.println(date);
java.sql.Date birthDate = new java.sql.Date(date.getTime());
System.out.println(birthDate);
}
}