/**
*计算从你的出生日期到现在间隔了多少天,
* 多少时,XX分?XX秒。(例如:出生日期为:XX年XX月XX日,
* 现在时间为:XX年XX月XX日,出生日期到现在间隔了多XX天,XX时,XX分,XX秒)。
*/
public static void main(String[] args) {
//手动输入生日
// Scanner scanner = new Scanner(System.in);
//
// System.out.println("请输入出生年yyyy:");
// String year = scanner.nextLine();
// System.out.println(year+"年出生");
//
//
// System.out.println("请输入出生月MM:");
// String month = scanner.nextLine();
// if(month.length()==1){
// month = "0"+month;
// }
// System.out.println(year+"年"+month+"月出生");
//
//
// System.out.println("请输入出生日dd:");
// String day = scanner.nextLine();
// if(day.length()==1){
// day = "0"+day;
// }
// System.out.println(year+"年"+month+"月"+day+"日"+00+"时"+00+"分"+00+"秒");
//
//
// SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
// Date num3 = null;
// try {
// Date num3 = format.parse(year + "年" + month + "月" + day + "日"+00+"时"+00+"分"+00+"秒");
// } catch (ParseException e) {
// e.printStackTrace();
// }
//
//
// System.out.println("出生日期为"+year+"年"+month+"月"+day+"日");
//随机生成生日
Random random = new Random();
int minDay = (int) LocalDate.of(1995, 1, 1).toEpochDay();
int maxDay = (int) LocalDate.of(2010, 1, 1).toEpochDay();
long randomDay = minDay + random.nextInt(maxDay - minDay);
LocalDate randomBirthDate = LocalDate.ofEpochDay(randomDay);
System.out.println("随机生成1995-2010年之间的日期:");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
String num1 = randomBirthDate.format(dtf)+00+"时"+00+"分"+00+"秒";
System.out.println();// 2021-01-29 ==> 2021年01月29日
System.out.println("出生日期为:"+num1);
//日期
Calendar calendar=Calendar.getInstance(); //通过getInstance方法获取Calendar的引用;
calendar.setTime(new Date());
String yearC=String.valueOf(calendar.get(Calendar.YEAR)); //现在是那一年
String monthC=String.valueOf(calendar.get(Calendar.MONTH)+1); //现在是几月份
String dayC=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)); //现在是月份的第几天
String house = String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)); // 时
String minutes = String.valueOf(calendar.get(Calendar.MINUTE)); // 分
String seconds = String.valueOf(calendar.get(Calendar.SECOND)); // 秒
System.out.println("现在时间是:"+yearC+"年"+monthC+"月"+dayC+"日"+house+"时"+minutes+"分"+seconds+"秒");
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Long num2=0L;
try {
Date now = format.parse(yearC+"年"+monthC+"月"+dayC+"日"+house+"时"+minutes+"分"+seconds+"秒");
num2=now.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
Date num3 =null;
try {
num3= format.parse(num1);
} catch (ParseException e) {
e.printStackTrace();
}
//开始计算
long Time=Math.abs(num2-num3.getTime());
long dayResult = Time / (24 * 60 * 60 * 1000);
long hourResult = (Time / (60 * 60 * 1000) - dayResult * 24);
long minResult = ((Time / (60 * 1000)) - dayResult * 24 * 60 - hourResult * 60);
long sResult = (Time / 1000 - dayResult * 24 * 60 * 60 - hourResult * 60 * 60 - minResult * 60);
System.out.println("出生日期到现在间隔了多"+dayResult+"天"+hourResult+"时"+minResult+"分"+sResult+"秒。");
}
输出结果:
?
|