import java.time.*;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
/**
* @author yxl
* @version 1.0
* @date 2021/12/06
*/
public class WeekUtil {
/**
* 根据时间获取月的第几周
* @param sourceTime
* @return
*/
public static String getMonthNoAndWeekNo(LocalDateTime sourceTime) {
Date date = Date.from(sourceTime.atZone(ZoneId.systemDefault()).toInstant());
return join(date);
}
/**
* 根据时间获取月的第几周
* @param sourceTime
* @return
*/
public static String getMonthNoAndWeekNo(LocalDate sourceTime) {
Date date = Date.from(sourceTime.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
return join(date);
}
/**
* 根据时间获取月的第几周
* @param date
* @return
*/
public static String getMonthNoAndWeekNo(Date date) {
return join(date);
}
/**
* 拼接
* @param date
* @return
*/
public static String join(Date date){
return getMonth(date) + "-" + getWeek(date);
}
/**
* 获取第几月
* @param date 时间
* @return
*/
public static int getMonth(Date date) {
return toCalendar(date).get(Calendar.MONTH);
}
/**
* 获取第几周
* @param date 时间
* @return
*/
public static int getWeek(Date date) {
return toCalendar(date).get(Calendar.WEEK_OF_MONTH);
}
/**
* 万年历
* @param date
* @return
*/
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);
}
}
Java获取时间几月第几周
?著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 没什么好说的,直接用ES6语法封装一个可以实现当前时间是(本月、本年)第几周的方法。新建一个getWeekNumb...