关于根据任意时间点转换成当前时间处于当年的第几周
前端用的vue+element需要根据选择的日期获取当前日期是当年的第几周,刚好element有这方面的代码可以拿来借鉴,具体如下:
但是问题来了,value1的值为==》2019-05-09T16:00:00.000Z
我想要的是中间显示的19
用其它方式获取时前台页面容易报错,故还是把获取到的值传到后台进行转换。
自己写了一下,还是有问题,寻求朋友帮助,得到代码如下(自己做了简单修改,当然是试验的代码)
// An highlighted block
package demo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
public class getWeek {
public static void main(String[] args) {
System.out.println(String.format("第%d周", getWeekOfYear()));
}
private static int getWeekOfYear() {
try {
String dateString = "2019-05-09T16:00:00.000Z";
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault());
long time = sf.parse(dateString).getTime();
calendar.setTimeInMillis(time);
int week= calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println(week);
return week;
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
}
程序运行结果如下:
至此解决问题。
虽然代码不是我写的但是觉得把这个发出来应该可以帮助到一些人。