我想将日期从07/02/2019转换为2019年7月7日。我的输入值是07/02/2019我想与目标值2019年7月7日进行比较。...请帮助我。 ..
公共静态void main(String [] args)抛出ParseException {
String sDate1="07/01/2019";
java.util.Date date1=new SimpleDateFormat("MM/dd/yyyy").parse(sDate1);
System.out.println(date1);
输出:2019年7月1日星期一00:00:00,这不是我的期望值
答案 0 :(得分:0)
在这里,您使用:
java.util.Date date1=new SimpleDateFormat("MM/dd/yyyy").parse(sDate1);
解析为字符串形式的日期。
然后您打印该日期,而无需任何格式信息。
因此答案很简单:定义一个模式,用于格式化日期对象为字符串!相同的规则,相同的模式。只是不是 parsing ,而是格式化打印!
换句话说:您已经知道这个概念,您使用了格式化程序将String转换为Date。现在,只需将其翻转过来,并为格式化程序提供一个模式,即可将Date转换为字符串!
答案 1 :(得分:0)
尝试这个。
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
SimpleDateFormat output = new SimpleDateFormat("MMMM dd, yyyy");
Date data = sdf.parse("07/02/2019");
String newDate = output.format(data);
System.out.println(newDate);
答案 2 :(得分:0)
解析您的输入日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/uuuu");
LocalDate date = LocalDate.parse(sDate, formatter);
类似地解析您的目标日期
DateTimeFormatter targetFormatter = DateTimeFormatter.ofPattern("MMMM dd, uuuu", Locale.ENGLISH);
LocalDate targetDate = LocalDate.parse("July 07, 2019");
或者更好的是,不使用字符串定义目标日期
LocalDate targetDate = LocalDate.of(2019, Month.JULY, 7);
比较
if (date.equals(targetDate)) {
System.out.println("Same date");
}
LocalDate
也具有方法isBefore
和isAfter
。
此答案是从我的平板电脑输入的,而没有尝试输入密码,因此请原谅输入错误。