当前位置: 首页 > 知识库问答 >
问题:

在java 8中,如何在不使用字符串日期的情况下将LocalDate从一种格式转换为另一种LocalDate格式?[副本]

卓雅达
2023-03-14
LocalDate date = LocalDate.now();
System.out.println("date :" + date );//default format is yyyy-MM-dd
System.out.println(date.getClass().getName());//java.time.LocalDate

如何在本地日期中设置上述日期的格式,键入格式为dd MM yyyy。但您可以使用字符串日期模式,即dd-MM-yyyy。输出应仅为本地日期类型。

共有1个答案

西门安歌
2023-03-14

此功能不是LocalDate类的责任,LocalDate类是表示日期的不可变日期时间对象。它的职责是不关心字符串格式表示。

要生成或解析字符串,请使用DateTimeForware类。

DateTimeFormatter pattern = DateTimeFormatter.ofPattern("dd-MM-yyyy");
String string = date.format(pattern);

回到本地日期,使用相同的模式:

LocalDate dateParsed = LocalDate.parse(string, pattern);

但是新的dateParsed将再次转换为其默认的字符串表示,因为LocalDate覆盖了toString()方法。以下是文件所述:

输出将采用ISO-8601格式UUU-MM-dd。

您可能希望实现自己的此类装饰器来处理格式。

 类似资料:
  • 问题内容: 有没有一种简单的方法可以将一种日期格式转换为PHP中的另一种日期格式? 我有这个: 但是我当然希望它返回一个当前日期,而不是返回“黎明”。我究竟做错了什么? 问题答案: 第二个参数必须是正确的时间戳(自1970年1月1日以来的秒数)。您正在传递一个字符串,date()无法识别。 您可以使用 strtotime() 将日期字符串转换为时间戳。但是,即使strtotime()也无法识别格式

  • 我有一个输入日期作为字符串,格式为dd/MM/yyyy 现在我想把它转换成日期对象,格式为yyyy-MM-dd 目前我正在做 输入为:“2013年4月2日” 但我的约会对象是… 所需输出为:2013-02-04(不是字符串,而是日期对象)

  • 问题内容: 我正在寻找使用SQL将一种日期格式转换为另一种格式。我正在使用用于SQLite的数据库浏览器,日期存储在“ TEXT”类型的列中。 这是当前格式的2个示例: 2017/4/17上午9:09:09 2017/10/4下午10:21:13 请注意,在当前的日期,月份和小时格式中,如果只有一位数字,则当前不会以前导“ 0”填充。他们也把月份放在第一位,然后是日期,然后是年份。这两个示例应转换

  • 问题内容: 我有一个名为date的LocalDate变量,当我打印它时显示1988-05-05,我需要将此变量转换为要打印为1988年5月5日。如何执行此操作? 问题答案: 如果他从Java 8中的新功能LocalDate开始,SimpleDateFormat将无法工作。从我所看到的,您将不得不使用DateTimeFormatter,http://docs.oracle.com/javase/8/

  • 我有一个LocalDate变量名为date,当我打印它时,它显示1988-05-05,我需要将它转换成05.may1988。怎么做?