如何以2019年2月24日的格式在Java中查找未来日期(比如从今天起两个月)
以下是我将采用的方法:如何以2019年2月24日的格式在Java中查找未来日期(比如从今天起两个月),java,date-formatting,localdate,date,Java,Date Formatting,Localdate,Date,以下是我将采用的方法: Date DateObject = new Date(); SimpleDateFormat formatDate = new SimpleDateFormat("dd MMMM yyyy"); String dateString = formatDate.format(DateObject); System.out.println(dateString); 现在,这将以所需的格式为我提供当前日期。我想从这个日期起两个月内以相同的格式找到Date的值 我还尝试了以下方法
Date DateObject = new Date();
SimpleDateFormat formatDate = new SimpleDateFormat("dd MMMM yyyy");
String dateString = formatDate.format(DateObject);
System.out.println(dateString);
现在,这将以所需的格式为我提供当前日期。我想从这个日期起两个月内以相同的格式找到Date的值
我还尝试了以下方法:
LocalDate futureDate = LocalDate.now().plusMonths(2);
这给了我想要的日期,从现在起两个月,但格式为2019-04-24。当我尝试使用SimpleDataFormat格式化此日期时,它给了我非法参数异常 尝试使用Java 8中引入的类,避免使用SimpleDataFormat
:
public static void main(String[] args) {
LocalDate futureDate = LocalDate.now().plusMonths(2);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy");
String dateStr = futureDate.format(formatter);
System.out.println(dateStr);
}
输出:
24 April 2019
Java 8中的DateTimeFormatter
是不可变的,并且是线程安全的,可以替代SimpleDataFormat
尝试使用Java 8中引入的类,避免使用SimpleDataFormat
:
public static void main(String[] args) {
LocalDate futureDate = LocalDate.now().plusMonths(2);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy");
String dateStr = futureDate.format(formatter);
System.out.println(dateStr);
}
输出:
24 April 2019
Java 8中的
DateTimeFormatter
是不可变的,线程安全的SimpleDataFormat
日期没有任何格式。它们只是数据(即,一个毫秒数,或三个整数字段,表示日、月和年)。当您使用日期格式化程序将它们转换为字符串时,您可以选择如何格式化它们。停止使用java.util.Date和SimpleDataFormat:它们已经过时了。阅读LocalDate的javadoc,了解如何按照您想要的方式格式化它。谢谢@JB。一定会挺过去的。非常感谢您提供的信息。日期没有任何格式。它们只是数据(即,一个毫秒数,或三个整数字段,表示日、月和年)。当您使用日期格式化程序将它们转换为字符串时,您可以选择如何格式化它们。停止使用java.util.Date和SimpleDataFormat:它们已经过时了。阅读LocalDate的javadoc,了解如何按照您想要的方式格式化它。谢谢@JB。一定会挺过去的。非常感谢你提供的信息。谢谢你!这帮助我解决了问题。@KovidMehta很高兴能帮上忙!谢谢你!这帮助我解决了问题。@KovidMehta很高兴能帮上忙!