如何将日期从mm / dd / yyyy转换为mm dd,yyyy

时间:2019-07-01 18:17:08

标签: java selenium-webdriver

我想将日期从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,这不是我的期望值

3 个答案:

答案 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也具有方法isBeforeisAfter

此答案是从我的平板电脑输入的,而没有尝试输入密码,因此请原谅输入错误。