针对学习Java的Date、Calendar日期操作的完整攻略,可以从以下几个方面展开讲解:
1. Date类介绍
java.util.Date
类是Java中处理日期和时间的一个类,它提供了一些方法可以帮助你操作日期和时间。它包含从1970年1月1日开始的毫秒数,并可以将这个毫秒数转换为日期和时间。
// 获取当前时间
Date date = new Date();
// 输出当前时间的毫秒数
System.out.println(date.getTime()); // 输出:1548114097191
2. SimpleDateFormat类
SimpleDateFormat
类是Java中一个非常实用的日期格式化类。它可以将日期格式化成各种不同的日期样式,并将日期字符串解析为日期对象。下面是一个示例,它演示了如何将日期格式化成一个字符串:
// 定义日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 使用格式化后的日期格式输出当前时间
System.out.println(sdf.format(new Date())); // 输出:2019-01-22 05:09:22
3. Calendar类介绍
Calendar
类是Java中处理日期和时间的另一个类。相比Date
类,它提供了更多的方法,可以帮助你更好地操作日期和时间。下面是一个演示,它展示了如何创建一个Calendar
对象并获取日期信息:
// 创建一个Calendar实例
Calendar cal = Calendar.getInstance();
// 获取当前年份
int year = cal.get(Calendar.YEAR);
// 获取当前月份
int month = cal.get(Calendar.MONTH) + 1;
// 获取当前日期
int day = cal.get(Calendar.DATE);
// 输出日期信息
System.out.println(year + "-" + month + "-" + day); // 输出:2019-1-22
4. 示例演示
示例一:计算两个日期之间的天数差
// 定义起始日期和结束日期
String start = "2019-01-01";
String end = "2019-01-31";
// 定义日期格式化类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 解析日期格式
Date startDate = sdf.parse(start);
Date endDate = sdf.parse(end);
// 计算天数差
long betweenDays = (endDate.getTime() - startDate.getTime()) / (1000 * 3600 * 24);
System.out.println(betweenDays); // 输出:30
示例二:增加或减少指定天数的日期
// 定义日期
String dateStr = "2019-01-22";
// 定义日期格式化类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 解析日期格式
Date date = sdf.parse(dateStr);
// 增加或减少天数
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 5); // 增加5天
// 输出增加或减少之后的日期
System.out.println(sdf.format(cal.getTime())); // 输出:2019-01-27
综上所述,学习Java的Date、Calendar日期操作的完整攻略,主要包含了Date
类、SimpleDateFormat
类和Calendar
类的介绍,以及两个示例的演示说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:学习Java的Date、Calendar日期操作 - Python技术站