java获取时间区间内⽉份列表项⽬场景:
在项⽬中遇到了关于⽉份显⽰的⼩问题。由于项⽬是属于校园教育就有学年的概念
例如:2020学年可以包含2⽉到6⽉ 和 9⽉到来年的1⽉ 就出现了⼀个时间区间 的问题
问题描述:
提⽰:⽤java的⽇期时间格式来处理
想返回⼀个时间区间 前提是学期的时间有相关的限制有开始时间和结束时间。
/**获取两个时间节点之间的⽉份列表**/
private static List<String>getMonthBetween(String minDate, String maxDate){
ArrayList<String> result =new ArrayList<String>();
try{
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM");//格式化为年⽉
Calendar min = Instance();
Calendar max = Instance();
min.setTime(sdf.parse(minDate));
min.(Calendar.YEAR), (Calendar.MONTH),1);
max.setTime(sdf.parse(maxDate));
max.(Calendar.YEAR), (Calendar.MONTH),2);
java时间日期格式转换Calendar curr = min;
while(curr.before(max)){
result.add(sdf.Time()));
curr.add(Calendar.MONTH,1);
}
}catch(ParseException e){
e.printStackTrace();
}
return result;
}
调⽤函数
public static void main(String[] args){
List<String> list =getMonthBetween("2018-01","2018-07");
for(String s : list){
System.out.println("⽇期:"+s);
}
}
输出结果样式
⽇期:2018-01
⽇期:2018-02
⽇期:2018-03
⽇期:2018-04
⽇期:2018-05
⽇期:2018-06
⽇期:2018-07
相关内容:
提⽰:这⾥ SimpleDateFormat的parse与format的⽤法区别
遇到获取当前时间转换:
parse与format的⽤法:
parse:将字符串转换成时间;parse()返回的是⼀个Date类型数据, 解析字符串的⽂本,⽣成 Date。
format:将时间转换成字符串;format返回的是⼀个StringBuffer类型的数据。将给定的 Date 格式化为⽇期/时间字符串,并将结果添加到给定的 StringBuffer。
String time2="1996-09-18 07:18:09";
SimpleDateFormat format2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date2=format2.parse(time2);//将字符串转换成时间
System.out.println(date2);
//结果:
Wed Sep 1807:18:09 GMT+08:001996
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time1=format.format(new Date);//将时间转换成字符串
System.out.println(time1);
//结果:
2021-01-1916:49:49

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。