「java一年中的第几周」java获取一周的所有日期
本篇文章给大家谈谈java一年中的第几周,以及java获取一周的所有日期对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java 如何计算今天是一年中的第几周
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateUtil {
/**
*
* @param year 年份
* @param month 月份
* @param weekOfMonth 这个月的第几周
* @param dayOfWeek 星期几
* @return
*/
public static String weekdatetodata(int year,int month,int weekOfMonth,int dayOfWeek){
Calendar c = Calendar.getInstance();
//计算出 x年 y月 1号 是星期几
c.set(year, month-1, 1);
//如果i_week_day =1 的话 实际上是周日
int i_week_day = c.get(Calendar.DAY_OF_WEEK);
int sumDay = 0;
//dayOfWeek+1 就是星期几(星期日 为 1)
if(i_week_day == 1){
sumDay = (weekOfMonth-1)*7 + dayOfWeek+1;
}else{
sumDay = 7-i_week_day+1 + (weekOfMonth-1)*7 + dayOfWeek +1;
}
//在1号的基础上加上相应的天数
c.set(Calendar.DATE, sumDay);
SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");
return sf2.format(c.getTime());
}
public static void main(String[] args) {
//2009年1月 第二周星期三 得到2009-01-14
System.out.println(weekdatetodata(2009, 1, 2, 3));
//2009年2月 第二周星期三 得到2009-02-11
System.out.println(weekdatetodata(2009, 2, 2, 3));
//2009年4月 第二周星期三 得到2009-04-15
System.out.println(weekdatetodata(2009, 4, 2, 3));
//2009年2月 第三周星期四 得到2009-02-19
System.out.println(weekdatetodata(2009, 2, 3, 4));
}
}
Java中如何根据日期确定它是属于该年的第几周?如2011-1-2属于2011年的第2周。
这是我原来用C写的,供你参考:
/* 判断某日期是该年的第几周 */
int getWeekSeqByDate(int year, int month, int day)
{
int diff;
int startWeek;
int week;
diff = dateDiff(year,1,1,year,month,day);
startWeek = getWeekByDate(year, 1, 1);
diff += startWeek + 1;
week = diff / 7;
if(diff % 7 != 0)
week++;
return week;
}
/* 返回两个日期相隔的天数 */
int dateDiff(int y1, int m1, int d1, int y2, int m2, int d2)
{
int i;
int days[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int diff0 = 0, diff1 = 0, diff2 = 0;
/* 计算d1日期到d1所在年份第一天相隔的天数 */
days[1] = isLeapYear(y1)==1 ? 29 : 28;
for(i=1; im1; i++)
diff1 += days[i-1];
/* 计算d2日期到d2所在年份第一天相隔的天数 */
days[1] = isLeapYear(y2)==1 ? 29 : 28;
for(i=1; im2; i++)
diff2 += days[i-1];
/* 计算d1、d2两个日期的年份相隔的天数 */
if(y1 y2){
for(i=y1; iy2; i++){
diff0 += isLeapYear(i)==1 ? 366 : 365;
}
}
else if(y1 y2){
for(i=y2; iy1; i++){
diff0 += isLeapYear(i)==1 ? 366 : 365;
}
diff0 *= -1;
}
return diff0 + diff2 - diff1 + d2 - d1;
}
/* 判断year是否是闰年,若是返回1,否则返回0 */
int isLeapYear(int year)
{
return ((year%400==0) || (year%4==0 year%100!=0));
}
/* 返回某月的天数 */
int getDaysOfMonth(int year, int month)
{
if(month1 || month12)
return -1;
if(month==1 || month==3 || month==5 || month==7 || month==8
|| month==10 || month==12)
return 31;
else if(month==4 || month==6 || month==9 || month==11)
return 30;
else
if(isLeapYear(year) == 1)
return 29;
else
return 28;
}
java里面如何知道某一天是一年中的第几周
作者:小怪
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
鄙人是一名java初学者,也就学了一点点,但是这一点点就让我激动不已,测试恋爱天数是多少月多少周余多少天,我人生的第一个java程序就这么诞生了!继续努力了,开始奋斗开始学习!贴出来程序的代码!
import java.util.Scanner;
public class lianxi1{
public static void main(String[]args){
Scanner lianai=new Scanner();
System.out.println("请输入您的姓名:");
String name1=lianai.next();
System.out.println("请输入对方姓名:");
String name2=lianai.next();
System.out.println("恋爱天数:");
int tianshu=lianai.nextInt();
System.out.println(name1+name2+"天长地久");
int F=tianshu;
int G=F/7;
int H=F%7;
System.out.print(name1+"与"+name2+"相恋了"+G+"周");
System.out.println(" 余"+H+"天");
int I=F/30;
int J=F%30;
int K=J/7;
int L=J%7;
System.out.print(name1+"与"+name2+"相恋了"+I+"月");
System.out.print(" 余"+K+"周");
System.out.println(" 余"+L+"天");
}
}
老司机带你分析SpringMVC框架设计原理与实现
链接:
密码:57w4
Netty粘包分包现象及解决方案实战,防socket攻击
链接:
密码:dk9n
大型企业级高并发下数据库水平切分之读写分离技巧详解
链接:
密码:ri8q
分布式事务出现场景及解决方案详细剖析
链接:
密码:380p
以上都是小编收集了大神的灵药,喜欢的拿走吧!喜欢小编就轻轻关注一下哦!
java一年中的第几周的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取一周的所有日期、java一年中的第几周的信息别忘了在本站进行查找喔。
发布于:2022-12-26,除非注明,否则均为
原创文章,转载请注明出处。