java 计算当前日期之后一年半是几几年几月几日

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 计算当前日期之后一年半是几几年几月几日相关的知识,希望对你有一定的参考价值。

例如
2013年6月26号
的一年半时间是
2014年12月25
怎么得到这个2014年12月25呀,急急急~~~

import java.util.Date;
import java.text.SimpleDateFormat;
public class daysofmonth

        public daysofmonth()//构造方法
        public static void calculate(int m,int y)//知月份年份求月份天数的方法caluculate
 
  if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
   System.out.println(y+"年"+m+"月:"+"31天");
  else if(m!=2)
   System.out.println(y+"年"+m+"月:"+"30天");
  else if((y%4==0&&y%100!=0)||(y%400==0))
   System.out.println(y+"年"+m+"月:"+"29天");
  else 
   System.out.println(y+"年"+m+"月:"+"28天");
 
 public static void main(String args[])
 
            Date nowTime=new Date();//获取当前时间
        
     SimpleDateFormat yearPattern=new SimpleDateFormat("yyyy");//获取字符串型年份的对象
            SimpleDateFormat monthPattern=new SimpleDateFormat("MM");//获取字符串型月份的对象
            int inty=Integer.parseInt(yearPattern.format(nowTime));//将当前年份转化为整型
            int intm=Integer.parseInt(monthPattern.format(nowTime));//将当前月份转化为整型
            int a[]=new int[7];//定义一个整型数组
            a[0]=intm;
            System.out.println("当月之后半年内每月的天数:");
            for(int i=1;i<7;i++)
            
                if(a[i-1]==12)
                
                   a[i]=1;
                   inty=inty+1;
                   calculate(a[i],inty);
                
                else
                
                   a[i]=a[i-1]+1;
                   calculate(a[i],inty);
                
     
        

这个应该可以帮到你。

参考技术A

给你个例子看下:你的半年后定义不明确,自己调下吧

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class $ 

    public static void main(String[] args) 
        test();
    

    private static void test() 

        Format f = new SimpleDateFormat("yyyy-MM-dd");
        Calendar thisDay = Calendar.getInstance();
        thisDay.set(Calendar.YEAR, 2013);
        thisDay.set(Calendar.MONTH, 5);// 月份,从0开始
        thisDay.set(Calendar.DAY_OF_MONTH, 26);

        System.out.println("今天是:" + f.format(thisDay.getTime()));

        // 半年后,相隔多少天? 18个月* 30天?
        thisDay.add(Calendar.DAY_OF_MONTH, 18 * 30);
        System.out.println("半年后:" + f.format(thisDay.getTime()));

    

结果:

今天是:2013-06-26
半年后:2014-12-18


本回答被提问者和网友采纳
参考技术B 你的源码是怎么算的,就是怎么出来的,你贴出源码啊

ccf 201509-2 日期计算

ccf 201509-2 日期计算

问题描述
  给定一个年份y和一个整数d,问这一年的第d天是几月几日?
  注意闰年的2月有29天。满足下面条件之一的是闰年:
  1) 年份是4的整数倍,而且不是100的整数倍;
  2) 年份是400的整数倍。
输入格式
  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
  输入的第二行包含一个整数dd在1至365之间。
输出格式
  输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
样例输出
3
21
样例输入
2000
40
样例输出
2
9
 
 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 const int daysOFMonth[2][12] = {{31,28,31,30,31,30,31,31,30,31,30,31},//平年 
 5                               {31,29,31,30,31,30,31,31,30,31,30,31}};//闰年 
 6 bool isleapyear(int y)
 7 {///闰年返回true 
 8     return (y%4==0&&y%100)||y%400==0;
 9 }
10 
11 int main()
12 {
13     int n,day;
14     while(cin>>n)
15     {
16         cin>>day;
17         int temp = 0;
18         int ly = 0;
19         int month;
20         if(isleapyear(n)) ly = 1;
21         while(day>0)
22         {
23             month = day;
24             day -= daysOFMonth[ly][temp++];
25          } 
26          cout<<temp<<endl<<month<<endl;
27          
28     }
29     return 0;
30 }

 

以上是关于java 计算当前日期之后一年半是几几年几月几日的主要内容,如果未能解决你的问题,请参考以下文章

js将时间戳转换为几月几日星期几

2021年父亲节是几月几日?

PHP获取当前日期及本周一是几月几号的方法

在EXCEL中,今天到下个月今天的天数怎么计算,求教了

用Excel做施工进度计划表

怎样在EXCEL计算两个日期中间间隔几年几个月几天