gpt4 book ai didi

java - 这段代码的目的是什么?它只是复制一个日期吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:38:38 25 4
gpt4 key购买 nike

我发现了一个已经不在公司工作的人的一段古老代码。

我想知道这个日历魔术的目的是什么:

if (value instanceof Date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime((Date) value);
return new Date(calendar.get(Calendar.YEAR) - 1900, calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
}

在我看来,这将返回一个新的 Date 对象,其值与原始 value 相同。是否有一些我遗漏的日历初始化正在进行?如果目的是返回一个具有相同值的新对象,我会假设 value.clone() 完成了这项工作:

(Date) originalDate.clone()
// or
new Date(originalDate.getTime())

版本控制显示代码从未更改。首先通过日历拉取日期是否可能有副作用?

最佳答案

这不过是一种过时的方式,可以从您的初始日期中删除小时、分钟和秒。

正如您在这个简单示例中所见:

Date value = new Date();
System.out.printf("Before %s%n", value);
Calendar calendar = Calendar.getInstance();
calendar.setTime(value);
System.out.printf(
"After %s%n",
new Date(
calendar.get(Calendar.YEAR) - 1900,
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)
)
);

输出:

Before Thu Oct 06 11:19:26 GMT 2016
After Thu Oct 06 00:00:00 GMT 2016

关于java - 这段代码的目的是什么?它只是复制一个日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894169/

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