gpt4 book ai didi

java - 为什么在 java.sql.Date 和 java.util.Date 上不推荐使用 getMonth

转载 作者:行者123 更新时间:2023-12-01 21:28:05 24 4
gpt4 key购买 nike

我应该以我使用 Apache Spark 作为开头,它使用 java.sql.Date,以防有人建议我应该使用 java.time 中的日期。下面的示例是在 Scala 中。

我使用(已弃用)获取日期月份的 API 如下:

val date: java.sql.Date = ???
val month = date.getMonth()

但是,如果我看一下它的外观,我应该根据弃用来执行此操作,上面的代码将重写如下:

val date: java.sql.Date = ???
val cal = Calendar.getInstance()
cal.setTime(date)
cal.get(Calendar.MONTH)

代码的简单性和可读性明显不同,从函数式编程的角度来看,日期作为日历的副作用并不是很好。有人可以解释为什么他们认为进行了此更改吗?

最佳答案

Prior to JDK 1.1, the class Date had two additional functions. Itallowed the interpretation of dates as year, month, day, hour, minute,and second values. It also allowed the formatting and parsing of datestrings. Unfortunately, the API for these functions was not amenableto internationalization. As of JDK 1.1, the Calendar class should beused to convert between dates and time fields and the DateFormat classshould be used to format and parse date strings. The correspondingmethods in Date are deprecated.

The JavaDoc解释。国际化。


如果有人建议我使用 java.time 中的日期

没有什么可以阻止您转换为 java.time尽快上课,执行任何你需要的计算/修改,如果你需要重新插入,转换回 java.sql.Date再次。

关于java - 为什么在 java.sql.Date 和 java.util.Date 上不推荐使用 getMonth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62812207/

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