记录一个奇特的需求:
8月1号,计算8月1号之前的数据,所以我们更新7月份全部数据;
8月2号,计算的是8月2号之前的数据
(1)周末:我们更新7月份全部+8月1号数据
(2)工作日:我们只更新8月1号数据;
8月3号,计算的是8月3号之前的数据
(1)周末:我们更新7月份全部+8月1号2号数据
(2)工作日:我们只更新8月1号2号数据;
8月4号,计算的是8月4号之前的数据,我们只更新8月1号2号3号数据
日期函数
/**
* 通过日期获取一年中的第几周,周几
*/
def getWeek(date:String,dateFormat:String): Int = {
// 创建Calendar对象
val calendar = Calendar.getInstance
// 设置传入的时间格式
val sdf = new SimpleDateFormat("yyyy-MM-dd")
// 指定一个日期
val dt = sdf.parse(date)
// 对 calendar 设置日期
calendar.setTime(dt)
// 1表示周日,2表示周一,7表示周六
// calendar.get(Calendar.WEEK_OF_YEAR)
calendar.get(Calendar.DAY_OF_WEEK)
}
/**
* 通过一年中的第几周和周几,获取日期
*/
public void translateWeak(weekofyear:Int, week:Int ) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2019); // 2019
cal.set(Calendar.WEEK_OF_YEAR, weekofyear);
cal.set(Calendar.DAY_OF_WEEK, week);
// 1表示周日,2表示周一,7表示周六
Date date = cal.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(date);
System.out.println(dateString);
}