黑马程序员技术交流社区
标题:
关于计算来到这世界多少天的问题,,两种方式答案不同??!!
[打印本页]
作者:
small_horse
时间:
2015-9-14 23:56
标题:
关于计算来到这世界多少天的问题,,两种方式答案不同??!!
//下面用simpleDateFormate和calendar类两种方式获取生日毫秒值结果差了很多天啊????!!!!
//算算你来这个世界多少天了????
public class Test1 {
public static void main(String[] args) throws ParseException {
// 获取当前时间毫秒值
Date now = new Date();
long nowTime = now.getTime();
System.out.println(nowTime);
// 获取生日的毫秒值-----------方式一 //9363天
/* String birthday = "1990年07月09日";
SimpleDateFormat dfs = new SimpleDateFormat("YY年MM月dd日");
//将字符串转成日期对象
Date parse =dfs.parse(birthday);
//获取生日那天的毫秒值
long birthdayTime = parse.getTime();
System.out.println(birthdayTime);*/
// 获取生日的毫秒值-----------方式二 //9161天
Calendar instance = Calendar.getInstance();
instance.set(1990, 7, 9);
long birthdayTime = instance.getTime().getTime();
// 做差
long time = nowTime - birthdayTime;
// 换算成天数
System.out.println(time / 1000 / 60 / 60 / 24);
}
}
作者:
xiaoya0o0o
时间:
2015-9-14 23:56
Calendar的set方法,其中月份的值是0-11分别代表12个月
Calendar instance = Calendar.getInstance();
instance.set(1990, 7-1, 9);
/*
* 算一下你来到这个世界多少天?
*
*
*/
public class Demo {
public static void main(String[] args) throws ParseException {
Date date1 = new Date();
String str = "1988-07-22";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date2 =sdf.parse(str);
long time1 = date1.getTime();//现在的毫秒值
long time2 = date2.getTime();//生日的毫秒值
long time = time1 - time2;
System.out.println("来到这个世界:" + (time / 1000 / 3600 / 24) + " 天");
System.out.println("来到这个世界:" + (time / 1000 / 3600 / 24 / 365) + " 年");
}
}
复制代码
作者:
夸克
时间:
2015-9-15 16:37
Calendar的set方法,其中月份的值是0-11分别代表12个月,所以你设置那里就用错了。另外你这两个方法一个用了SimpleDateFormat格式,另一个没有,也会有影响。
作者:
fdg666
时间:
2015-9-17 23:48
Calendar对象里面月份的值是从0到11,0代表1月以此类推,你设置的月份有问题。
作者:
920792433
时间:
2015-9-23 21:18
public class DataTest {
public static void main(String[] args) throws ParseException {
String time = "2014-03-11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(time);
System.out.println( getDays(date) );
}
//完成获取指定的日期 与今天相距多少天
public static long getDays(Date date) throws ParseException{
Date currentDate = new Date();
long seconds = currentDate.getTime() - date.getTime();
long day = seconds/1000/60/60/24;
return day;
}
}
复制代码
作者:
ringfingers
时间:
2015-9-26 23:12
然而大牛们被没有被楼主采取意见
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2