java 计算当前日期之后一年半是几几年几月几日
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 计算当前日期之后一年半是几几年几月几日相关的知识,希望对你有一定的参考价值。
例如
2013年6月26号
的一年半时间是
2014年12月25
怎么得到这个2014年12月25呀,急急急~~~
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);
这个应该可以帮到你。
给你个例子看下:你的半年后定义不明确,自己调下吧
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
ccf 201509-2 日期计算
ccf 201509-2 日期计算
问题描述
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第二行包含一个整数d,d在1至365之间。
输入的第二行包含一个整数d,d在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
80
样例输出
3
21
21
样例输入
2000
40
40
样例输出
2
9
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 计算当前日期之后一年半是几几年几月几日的主要内容,如果未能解决你的问题,请参考以下文章