想根据指定字符串日期,获取是第几周,结果报错了
java.text.ParseException: Unparseable date: "2023-03-07"
at java.text.DateFormat.parse(DateFormat.java:366)
at com.hidata.hidbm.Test11.getWeeksInMonthOfDate(Test11.java:27)
at com.hidata.hidbm.Test11.main(Test11.java:14)
2023年3月第2周
Process finished with exit code 0
经过查找,发现是因为SimpleDateFormat里面忘记加 “yyyy-MM-dd”,
原来的
SimpleDateFormat df=new SimpleDateFormat();
改过后文章来源:https://www.toymoban.com/news/detail-541438.html
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
最终代码文章来源地址https://www.toymoban.com/news/detail-541438.html
package com.hidata.hidbm;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* @Description :
* @Date: 2023-03-07 10:05
*/
public class Demo{
public static void main(String[] args) {
System.out.println(getWeeks("2023-03-07"));
}
/**
* 获取指定日期-XXXX年X月第X周
*/
public static String getWeeks(String dateStr){
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(df.parse(dateStr));
} catch (ParseException e) {
e.printStackTrace();
}
//设置每周第一天为周一 默认每周第一天为周日
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//获取当前日期所在周周日
calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
return String.valueOf(calendar.get(Calendar.YEAR)).concat("年").
concat(String.valueOf(calendar.get(Calendar.MONTH)+1)).concat("月第").
concat(String.valueOf(calendar.get(Calendar.WEEK_OF_MONTH))).concat("周");
}
}
到了这里,关于解决 java.text.ParseException: Unparseable date的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!