Java 查找最近5周的每周结束日
我在创建一些代码时遇到了一些问题,这些代码应该动态打印最近5周的最后一天的日期 示例输出Java 查找最近5周的每周结束日,java,date,Java,Date,我在创建一些代码时遇到了一些问题,这些代码应该动态打印最近5周的最后一天的日期 示例输出 current date is 3/27/2014 End date of week 1 = 3/21/2014 End date of week 2 = 3/14/2014 End date of week 3 = 3/7/2014 End date of week 4 = 2/28/2014 End date of week 5 = 2/21/2014. 感谢您的帮助。提前谢谢 多谢各位。。很
current date is 3/27/2014
End date of week 1 = 3/21/2014
End date of week 2 = 3/14/2014
End date of week 3 = 3/7/2014
End date of week 4 = 2/28/2014
End date of week 5 = 2/21/2014.
感谢您的帮助。提前谢谢
多谢各位。。很抱歉给你带来了困惑。。实际上,我想要一些代码,我为查找从当前日期开始的最后4周结束日期而准备的
public class dateValid6 {
public static void main(String[] args) {
int curDay = 22;
int curMonth = 3;
int curYear = 2014;
System.out.println("Current date = " + curMonth+"/"+curDay+"/"+curYear);
// if current day of month is between 30 to 25
if (curDay == 27 || curDay == 26 || curDay == 25 || curDay == 24 || curDay == 23 || curDay == 22)
{
int curDayw1 = curDay - 6;
String compDatew1 = (curMonth+"/"+curDayw1+"/"+curYear);
System.out.println("Compared Date for Week 1 = "+compDatew1);
int curDayw2 = curDayw1 - 7;
String compDatew2 = (curMonth+"/"+curDayw2+"/"+curYear);
System.out.println("Compared Date for Week 2 = "+compDatew2);
int curDayw3 = curDayw2 - 7;
String compDatew3 = (curMonth+"/"+curDayw3+"/"+curYear);
System.out.println("Compared Date for Week 3 = "+compDatew3);
int curDayw4 = 0;
if (curMonth == 3)
{
curDayw4 = curDayw3 - 7;
if(curDayw4 == 0)
{
curDayw4 = 28;
}
else if(curDayw4 == -1)
{
curDayw4 = 27;
}
else if(curDayw4 == -2)
{
curDayw4 = 26;
}
else if(curDayw4 == -3)
{
curDayw4 = 25;
}
else if(curDayw4 == -4)
{
curDayw4 = 24;
}
else if(curDayw4 == -5)
{
curDayw4 = 23;
}
}
if (curMonth == 5 || curMonth == 7 || curMonth == 10 || curMonth == 12)
{
curDayw4 = curDayw3 - 6;
if(curDayw4 == 0)
{
curDayw4 = 30;
}
else if(curDayw4 == -1)
{
curDayw4 = 29;
}
else if(curDayw4 == -2)
{
curDayw4 = 28;
}
else if(curDayw4 == -3)
{
curDayw4 = 27;
}
else if(curDayw4 == -4)
{
curDayw4 = 26;
}
else if(curDayw4 == -5)
{
curDayw4 = 25;
}
}
if (curMonth == 1 || curMonth == 2 || curMonth == 4 || curMonth == 6 || curMonth == 8 || curMonth == 9 || curMonth == 11)
{
curDayw4 = curDayw3 - 6;
if(curDayw4 == 0)
{
curDayw4 = 31;
}
else if(curDayw4 == -1)
{
curDayw4 = 30;
}
else if(curDayw4 == -2)
{
curDayw4 = 29;
}
else if(curDayw4 == -3)
{
curDayw4 = 28;
}
else if(curDayw4 == -4)
{
curDayw4 = 27;
}
else if(curDayw4 == -5)
{
curDayw4 = 26;
}
}
curMonth = curMonth - 1;
String compDatew4 = (curMonth+"/"+curDayw4+"/"+curYear);
System.out.println("Compared Date for Week 5 = "+compDatew4);
}
}
}
我需要完成这一点,但最少的代码行和一个月的任何日期。。非常感谢……欢迎来到StackOverflow 下面的示例创建了一个
新的gregoriacalendar()代码>,表示今天。然后,我们按照您要求的格式创建一个SimpleDateFormat
。之后,我们操纵c
将其设置为周末(本例中为周日),然后在循环中每次删除一周,并通过sdf
打印结果
public class Test {
public static void main(String[] args) {
GregorianCalendar c = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
c.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.SUNDAY);
System.out.println("End date of this week = "+sdf.format(c.getTime()));
for(int i = 1 ; i <=5 ; i++){
c.set(GregorianCalendar.WEEK_OF_YEAR, c.get(GregorianCalendar.WEEK_OF_YEAR)-1);
System.out.println("End date of "+i+" week ago = "+sdf.format(c.getTime()));
}
}
}
这是一个完整的工作示例,因此您可以将其复制到名为Test.Java的新Java文件中,然后它将运行。我希望这有帮助 “嗨,请帮我学习java代码。”-嗨。。你在说什么代码?是的,Java很容易做到这一点。看看java.util.Calendar,那么你的周末是星期五???您可以尝试使用JodaTime typeLocalDate
执行此任务。到目前为止,您编写了哪些代码?你是被某个特定的方法卡住了还是不知道从哪里开始?
End date of this week = 03/30/2014
End date of 1 week ago = 03/23/2014
End date of 2 week ago = 03/16/2014
End date of 3 week ago = 03/09/2014
End date of 4 week ago = 03/02/2014
End date of 5 week ago = 02/23/2014