java 日期差
java如何实现日期差,得出结果是这种类型的(年月日),例如2008年5月25号到今天是多久,就应该打印3年8月25天。...
java如何实现日期差,得出结果是这种类型的(年月日),例如2008年5月25号到今天是多久,就应该打印 3年8月25天。
展开
展开全部
Calendar calendar = Calendar.getInstance();
long yiQian = calendar.getTimeInMillis();
calendar.set(2008,5,25);
long xianZai = calendar.getTimeInMillis();
//转换成天
int day = (xianZai-yiQian)/(1000*60*60*24);
//转换成想要的格式,这里定为1年=365天 1月=30天
//算出年
int year =day/365;
day = day%365;
//算出月
int month = day/30;
day = day%30;
//输出结果
System.out.println(year+"年-"+month+"月-"+day+"天");
long yiQian = calendar.getTimeInMillis();
calendar.set(2008,5,25);
long xianZai = calendar.getTimeInMillis();
//转换成天
int day = (xianZai-yiQian)/(1000*60*60*24);
//转换成想要的格式,这里定为1年=365天 1月=30天
//算出年
int year =day/365;
day = day%365;
//算出月
int month = day/30;
day = day%30;
//输出结果
System.out.println(year+"年-"+month+"月-"+day+"天");
追问
得出年限为负数
int day = (int) ((yiQian-xianZai)/(1000*60*60*24));我这样换了就成正数了
追答
我这个只是在百度上编辑的,没有到环境中跑啊,具体细节估计还需要你修改下,基本思路就是安我这么走,如果你还修改不了我可以在环境下给你跑下再发过去
这样就可以了:
Calendar calendar = Calendar.getInstance();
long xianZai = calendar.getTimeInMillis();
System.out.println(xianZai);
calendar.set(2008,5,25);
long yiQian = calendar.getTimeInMillis();
System.out.println(yiQian);
//转换成天
int day = (int)((xianZai-yiQian)/(1000*60*60*24));
//转换成想要的格式,这里定为1年=365天 1月=30天
//算出年
int year =day/365;
day = day%365;
//算出月
int month = day/30;
day = day%30;
//输出结果
System.out.println(year+"年"+month+"月"+day+"天");
展开全部
Java中Calendar
package Date;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println("现在时间是:"+new Date());
String year=String.valueOf(calendar.get(Calendar.YEAR));
String month=String.valueOf(calendar.get(Calendar.MONTH)+1);
String day=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String week=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);
System.out.println("现在时间是:"+year+"年"+month+"月"+day+"日,星期"+week);
long year2009=calendar.getTimeInMillis();
calendar.set(1989,9,26);//这里与真实的月份之间相差1
long year1989=calendar.getTimeInMillis();
long days=(year2009-year1989)/(1000*60*60*24);
System.out.println("今天和1989年10月26日相隔"+days+"天,"+"也就是说我在这个美丽的星球上已经幸福的生活了"+days+"天。");
}
}
package Date;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println("现在时间是:"+new Date());
String year=String.valueOf(calendar.get(Calendar.YEAR));
String month=String.valueOf(calendar.get(Calendar.MONTH)+1);
String day=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String week=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);
System.out.println("现在时间是:"+year+"年"+month+"月"+day+"日,星期"+week);
long year2009=calendar.getTimeInMillis();
calendar.set(1989,9,26);//这里与真实的月份之间相差1
long year1989=calendar.getTimeInMillis();
long days=(year2009-year1989)/(1000*60*60*24);
System.out.println("今天和1989年10月26日相隔"+days+"天,"+"也就是说我在这个美丽的星球上已经幸福的生活了"+days+"天。");
}
}
追问
兄弟我要的不是天数是多少年多少月,多少日,比如工龄,你总不能说做了多少天吧。
追答
计算出天数你在除以365得出年,余数除以30月,在余的数 就是天
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//。。。 你看字面就能写代码啦。
Calendar calendar=Calendar.getInstance();
//得到当前的年
int year = calendar.get(Calendar.YEAR);
//得到当前的月
int month = calendar.get(Calendar.MONTH)+1;
//得到当前的日
int day = calendar.get(Calendar.DAY_OF_MONTH));
//打印
System.out.println((year-2008) + "年" + (month-5) + "月" +( day-28) + "日" );
//注意,“日”的话你自己判断一下,看‘( day-28) + "日"’这个小于0的话,你可以在月那里扣掉1,然后再逻辑判断。 不知道你需要什么样的业务逻辑,所以我这里也就告诉你个大概的方法。
Calendar calendar=Calendar.getInstance();
//得到当前的年
int year = calendar.get(Calendar.YEAR);
//得到当前的月
int month = calendar.get(Calendar.MONTH)+1;
//得到当前的日
int day = calendar.get(Calendar.DAY_OF_MONTH));
//打印
System.out.println((year-2008) + "年" + (month-5) + "月" +( day-28) + "日" );
//注意,“日”的话你自己判断一下,看‘( day-28) + "日"’这个小于0的话,你可以在月那里扣掉1,然后再逻辑判断。 不知道你需要什么样的业务逻辑,所以我这里也就告诉你个大概的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我以前用c++写过一个,你看看吧 //输入两个日期,计算相差多少天 #include<iostream> using namespace std; int main() {int yy1,mm1,dd1,yy2,mm2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Calendar或Date,一般推荐用Calendar
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询