获取任意时间的某日期

今天刷哔哩哔哩无意中打开了投稿管理,发现上面显示着已加入哔哩哔哩1994天,看着上面的数字感觉到时间过了好快啊。
image
心里顿时有个想法,想知道加入的这一天是某年某月某日,心想着翻开日历一下一下去翻,但是感觉这样实在是太笨了。
image
我顿时想着写一个程序去判断一下1994天前是某年的哪一天,问题也随意来之,我应该如何判断月份,以及闰年。但是这样去判断,感觉特别麻烦。于是我想到了用时间戳去计算。
image

Java提供了 java.util.Date 类来处理日期格式的数据,通过它可以得到其所代表的日期的年月日和时分秒信息。因此,可以很自然地想到,要得到任何一个时间的下一天的时间。我们只需要计算出一天的时间戳是多少,去乘以天数,再获取当前日期的时间戳去减去计算出来的天数时间戳,在进行转换成便可以得出某天的日期。
代码如下:

public class Day {
    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Scanner input = new Scanner(System.in);
        System.out.println("输入天数,(之前天数添加-,之后天数输入正数即可)");
        long datetime = input.nextLong();
        Date nextDate = getNextDay(datetime);
        System.out.println("那天日期:" + simpleDateFormat.format(nextDate));
    }

    public static Date getNextDay(long datetime) {
        Date date = new Date();
        //1天24小时,1小时60分钟,1分钟60秒,1秒1000毫秒
        long addTime = 24 * 60 * 60 * 1000 * datetime;
        return new Date(date.getTime() + addTime);
    }
}
posted @ 2023-09-21 20:17  ゐ叶う枫ゆ  阅读(34)  评论(0编辑  收藏  举报