import java.time.*;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class WeekUtil {
public static String getMonthNoAndWeekNo(LocalDateTime sourceTime) {
Date date = Date.from(sourceTime.atZone(ZoneId.systemDefault()).toInstant());
return join(date);
}
public static String getMonthNoAndWeekNo(LocalDate sourceTime) {
Date date = Date.from(sourceTime.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
return join(date);
}
public static String getMonthNoAndWeekNo(Date date) {
return join(date);
}
public static String join(Date date){
return getMonth(date) + "-" + getWeek(date);
}
public static int getMonth(Date date) {
return toCalendar(date).get(Calendar.MONTH);
}
public static int getWeek(Date date) {
return toCalendar(date).get(Calendar.WEEK_OF_MONTH);
}
public static Calendar toCalendar(Date date) {
Calendar cal = Calendar.getInstance(Locale.getDefault(Locale.Category.FORMAT));
cal.setFirstDayOfWeek(Calendar.WEEK_OF_MONTH);
cal.setTime(date);
return cal;
}
public static void main(String[] args) {
String monthNoAndWeekNo = getMonthNoAndWeekNo(LocalDateTime.now());
System.out.println("weekNoOfMonth :" + monthNoAndWeekNo);
String monthNoAndWeekNo1 = getMonthNoAndWeekNo(LocalDate.now());
System.out.println("weekNoOfMonth1 :" + monthNoAndWeekNo1);
String monthNoAndWeekNo2 = getMonthNoAndWeekNo(new Date());
System.out.println("weekNoOfMonth2 :" + monthNoAndWeekNo2);
}
}
