我需要比较java中的两个字符串日期:
String date1 = "2017-05-02";
String date2 = "5/2/2017";
//formatter for the first date
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
Date formattedDate1 = formatter.parse(date1);
//formatter for the second date
formatter = new SimpleDateFormat("m/d/yyyy");
Date formattedDate2 = formatter.parse(date2);
//Wrong results
String formatted1 = formattedDate1.toString(); //Mon Jan 02 00:05:00 EET 2017
String formatted2 = formattedDate2.toString(); //Mon Jan 02 00:05:00 EET 2017
实际上,如果我比较这两个,我可能会得到“真实”,但我的日期不是一月,而是“2017 年 5 月 5 日”。
另一个问题是我无法使用 Date 对象,我需要实际将“2017-05-02”转换为“5/2/2017”,然后将其传递给另一个函数
因为旧的 java 日期已被破坏,我们都应该停止学习它,并且由于 java8 中的新功能将来对我们所有人都有帮助,这里使用 java Time api 的另一个选项
String date1 = "2017-05-02";
String date2 = "5/2/2017";
LocalDate d1 = LocalDate.parse(date1, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate d2 = LocalDate.parse(date2, DateTimeFormatter.ofPattern("M/d/yyyy"));
System.out.println(d1);
System.out.println(d2);
System.out.println(d2.isEqual(d1));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)