计算某个日期,直到当前有多少年,月,日,时,分,秒;

本文提供了一种计算从特定日期至今所经过天数的方法,包括如何判断闰年及使用Java进行日期处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

终于搞定了。。。累趴。。。睡觉睡觉。。。难得睡不着写了这么个东东;时间这个东西,说走就不会停下来,即使你喊破喉咙,喊道你说不出话,都不会因为你的原因而停止走动。。。让自己的生命活的有意义些,你就跟着他走。。。只有这样你才能不会失去你人生本身的意义;

    说那么多没用也是没用。直接上代码;

计算某个时间到现在的天数是多少;

// 计算当前年份当天的是今年的第几天;
     private static int curNow_day_Count(int month, int Year, int Month, int Month_Day, int[] month_days) {

          int Now_Year_Day_sum;
          if (Year % 400 == 0 || (Year % 4 == 0 && Year % 100 != 0)) {
               int curDay = 0;// 记录当前年份前Month月的几天
               if (month > 2) {
                    for (int i = 0; i < Month - 1; i++) {
                         curDay += month_days[i];
                    }
                    Now_Year_Day_sum = curDay + Month_Day + 1;
               }
               else {
                    for (int i = 0; i < Month - 1; i++) {
                         curDay += month_days[i];
                    }
                    Now_Year_Day_sum = curDay + Month_Day;
               }

          }
          else {
               int curDay = 0;// 记录当前年份前Month月的几天
               for (int i = 0; i < Month - 1; i++) {
                    curDay += month_days[i];
               }
               Now_Year_Day_sum = curDay + Month_Day;
          }
          return Now_Year_Day_sum;
     }
一下就是核心部分,计算你的出生年月日到现在的时间是多长;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Replace {
     public static void main(String[] args) {
          int year = 1998, month = 3, day = 11;// 记录出生年月日

          // 输入年月日,得知,你当前年份的第几天;

          // 先判断是否是闰年,如果是闰年,二月份将加1,否则,不是;
          // 如果是闰年就用366减去第几天,得到当前年份的天数;
          // 如果是用当前年份,减去输入的年份。得到过了几年,当成循环的变量

          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
          long NowTime = System.currentTimeMillis();
          String format = dateFormat.format(new Date(NowTime));

          int Year = Integer.parseInt(format.substring(0, 4));// 格式化得到当前年份
          int Month = Integer.parseInt(format.substring(5, 7));// 格式化得到当前月份
          int Month_Day = Integer.parseInt(format.substring(8, 10));
          int Live_World_Day = 0;

          int count_Year = Year - year;// 得到你出生了几年

          int Now_Year_Day_sum = 0;// 得到当前年份当前的第几天做个标记

          int[] month_days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30 };// 月份数组

          int sum = 0;// 算出你出生那年,是那年的第几天
          int srcSum = 0;// 这个算的你出生那年到第二年还有几天

          int Sum_day = 0;//这个结果是从你出生的第二年到现在的前几个月之前的天数;

          Now_Year_Day_sum = curNow_day_Count(month, Year, Month, Month_Day, month_days);

          for (int j = 0; j < count_Year; j++) {
               int mYear = year + j;// 循环每年的,得到天数;
               if (j == 0) {// 代表计算是出生那年时的年份
                    if (mYear % 400 != 0 && (mYear % 4 != 0 || mYear % 100 == 0)) {
                         for (int i = 0; i < month - 1; i++) {
                              sum += month_days[i];
                         }
                         srcSum = 365 - (sum + day);
                    }
                    else {
                         if (month > 2) {
                              for (int i = 0; i < month - 1; i++) {
                                   sum += month_days[i];
                              }
                              srcSum = 366 - (sum + day) + 1;
                         }
                         else {
                              for (int i = 0; i < month - 1; i++) {
                                   sum += month_days[i];
                              }
                              srcSum = 366 - (sum + day);
                         }
                    }
               }
               else {
                    // 计算年份是否为闰年
                    if (mYear % 400 == 0 || (mYear % 4 == 0 && mYear % 100 != 0)) {
                         Sum_day += 366;
                    }else{                         
                         Sum_day += 365;
                    }
               }
          }
          // 计算你出生那年的天数;
          System.out.println("生活在世界上已经:" + count_Year + "年");
          Live_World_Day = Sum_day + srcSum + Now_Year_Day_sum;
          System.out.println("生活在世界上已经:" + Live_World_Day + "天");
          // 计算活的小时数:
          System.out.println("生活在世界上已经:" + Live_World_Day / 7 + "周");
          int Live_World_Hour = Live_World_Day * 24;
          int Live_World_Munite = Live_World_Hour * 60;
          int Liver_World_Scond = Live_World_Munite * 60;
          System.out.println("生活在世界上已经:" + Live_World_Hour + "小时");
          System.out.println("生活在世界上已经:" + Live_World_Munite + "分钟");
          System.out.println("生活在世界上已经:" + Liver_World_Scond + "秒钟");

     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值