gpt4 book ai didi

java - 使用 Date(milliseconds) 构造函数初始化日期

转载 作者:行者123 更新时间:2023-12-01 06:38:43 28 4
gpt4 key购买 nike

Date 类的 JavaDoc 指出

public Date(long date)
Allocates a Date object and initializes it to represent the specified number of
milliseconds since the standard base time known as "the epoch", namely January 1, 1970,
00:00:00 GMT.

下面的代码通过使用 Date(long milliSeconds) 构造函数计算毫秒数来计算 1 月 24 日和 1 月 25 日的日期

public static void main(String[] args) throws java.text.ParseException {

long milliSecFor25 = (24*60*60*24*1000);
long milliSecFor26 = (25*60*60*24*1000);
Date dateJan25 = new Date(milliSecFor25);
Date dateJan26 = new Date(milliSecFor26);
System.out.println("Date for Jan 25:" + dateJan25);
System.out.println("Date for Jan 26:" + dateJan26);
}

执行以下代码时,我得到以下输出,

    Date for Jan 25: Sun Jan 25 05:30:00 IST 1970
Date for Jan 26: Sun Dec 07 12:27:12 IST 1969

这是不正确的。有人能解释一下为什么我没有得到 1 月 25 日的正确日期

最佳答案

您遇到了整数溢出。使用长整型代替整型:

long milliSecFor25 = (24L * 60L * 60L * 24L * 1000L);

关于java - 使用 Date(milliseconds) 构造函数初始化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22114251/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com