本文目录一览:
- 1、java 获取当前日期是多少周
- 2、java通过本月第几周怎么找本周的其实日期和截止日期?
- 3、java如何得到指定日期月的第几周?按每年的1号为第一周开始算。
- 4、Java根据日期得到当月第几周
- 5、Java日期操作问题,传入一个日期返回这个日期所在月的第几周,具体要求如下:
- 6、java 如何获取 一个月 有多少周
java 获取当前日期是多少周
使用Calendar类
/**Calendar类中的.get(Calendar.DAY_OF_WEEK)可以获取当前日期是星期几
* 获取当前日期是星期几br
*
* @param dt
* @return 当前日期是星期几
*/
public static String getWeekOfDate(Date dt) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w 0)
w = 0;
return weekDays[w];
}
java通过本月第几周怎么找本周的其实日期和截止日期?
使用 Calendar.add(int, int) 往前找到周的开始
同样,再往后找到周的结束
事实上,楼主都找到今天是周几了,一加、一减就找到周开始、周结束了。
java如何得到指定日期月的第几周?按每年的1号为第一周开始算。
你第一问需要思考一下,你第二问日历类直接get即可!
第一问:
年末与年初进行周与周重叠的时候,获取的是第二年的第一周数字,这个时候其实很简单,因为月份是绝对不相同的对不?
直接判断月份即可,头年月份肯定不会第二年月份想等,在同时判断一下,周是否为1,条件同时达到,就叠加52即可!
截个图,你参照日历看一下,分毫不差:
Java根据日期得到当月第几周
Calendar c_begin = Calendar.getInstance();
Calendar c_end = Calendar.getInstance();
c_begin.set(2010, 3, 1); //Calendar的月从0-11,所以4月是3.
c_end.set(2010, 4, 20); //Calendar的月从0-11,所以5月是4.
int count = 0;
while(c_begin.before(c_end)){
//System.out.println(new java.sql.Date(c_begin.getTime().getTime()));
if(c_begin.get(Calendar.DAY_OF_WEEK)==Calendar.MONDAY){
count++;
}
if(count == 2){
System.out.println(c_begin.get(Calendar.YEAR)+"年"+(c_begin.get(Calendar.MONTH)+1)+"月"+c_begin.get(Calendar.DATE)+"日");
break;
}
c_begin.add(Calendar.DAY_OF_YEAR, 1);
}
可以这样试试,应该能理解吧。如有不懂再问我
Java日期操作问题,传入一个日期返回这个日期所在月的第几周,具体要求如下:
import java.util.Calendar;
import java.util.Date;
public class test {
public static String getWeekOfMonth(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//外国月份为0-11所以月份加一
int month = cal.get(Calendar.MONTH)+1;
int mweek = cal.get(Calendar.WEEK_OF_MONTH);
String d = month+"第"+mweek+"周";
return d;
}
public static void main(String[] args) {
System.out.println(getWeekOfMonth(new Date()));
}
}
java 如何获取 一个月 有多少周
你说需要计算一个月有多少周,若是指,一月,二月一直到十二月每个月有多少周的话,可以用Java8的新时间API进行计算,因为里面已经封装了每个月了,但由于每一年每个月的周数可能不同,所以必须还需要一个日期,也就是年,因此得到某年某月的某个时间,就可以相应算出这个时间所在月的第一天和最后一天,然后计算这第一天和最后一天相隔多少个周
思路:
获取所有月份的枚举集合A
随意获取一个时间B
循环所有的月份A,把B的月份依次修改为A中的每个月份,得到修改后的时间集合C
循环C中的所有时间,把每个时间都算出该时间的所在月份的第一天和最后一天,并计算周数
打印周数
代码:
// 随意取一个时间,取了当前时间
LocalDate localDate = LocalDate.now();
System.out.println("当前时间为:" + localDate);
// 根据封装好的月份获取一个一月到十二月的Month流,此时流里的对象为Month
Arrays.stream(Month.values())
// 把每个month都调整到当前这个时间里,此时流的对象为LocalDate
.map(month - month.adjustInto(localDate))
// 这里方便里观察此时流的数据,把转换后的时间打印了出来
.peek(System.out::println)
// 根据时间的所在月的第一天和最后一天作为间隔计算周数
.map(temporal - ChronoUnit.WEEKS.between(temporal.with(TemporalAdjusters.firstDayOfMonth()), temporal.with(TemporalAdjusters.lastDayOfMonth())))
// 打印最后的周数
.forEach(System.out::println);