gpt4 book ai didi

java - 为什么java中有这么多获取日期时间的方法?

转载 作者:行者123 更新时间:2023-12-01 07:47:13 26 4
gpt4 key购买 nike

我一直在开发一个基于简单字典的 Android 应用程序,所以我想寻找在开发中使用的最佳实践。因此,我搜索了获取时间和日期的最佳方法,但我发现很多方法都生成日期和时间。

例如:Java - How to get current time and date

在这里,我找到了多种方法来获取带有格式的时间和日期。

代码 fragment

对于java.util.Date,只需创建一个新的Date()

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date)); //2016/11/16 12:08:43

对于java.util.Calendar,使用Calendar.getInstance()

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal)); //2016/11/16 12:08:43

对于java.time.LocalDateTime,使用LocalDateTime.now()

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now)); //2016/11/16 12:08:43

对于java.time.LocalDate,使用LocalDate.now()

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
LocalDate localDate = LocalDate.now();
System.out.println(dtf.format(localDate)); //2016/11/16

为什么java中有这么多获取日期时间的方法?以及获取日期和时间的最佳方法是什么?

最佳答案

因为日期和时间是复杂的事情,例如如何处理货币以及如何将文本与字节相互转换。

应该使用Java 8中引入的java.time包,因为他们已经修复了一些问题并试图让它不那么烦人和奇怪。它基于Joda-Time这是一个经过深思熟虑的库。

DateCalendar 是旧时间/日期 API 的一部分,尽管没有那么多 API,但这些类仍停留在 java 上.util 并且存在很多设计问题。它们仍然有效,但您不应该在新代码中真正使用它们。不是因为它们被弃用(它们没有),而是因为它们很糟糕。想象一下 DateInstant 的关系就像 VectorArrayList 的关系一样。

关于java - 为什么java中有这么多获取日期时间的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48985037/

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