我是 JodaTime 的新手,正在自己学习。实际上我想要的只是以我自己的格式格式化 LocateDate
。我的格式是 "dd-mm-yyyy"
我有计算两个日期差异的方法:
private void sampleDaysDifference() {
DateTime todayDate = getLocalTodayDate();
DateTime dateAfterTwoDays = getDateAfterTwoDays();
//get the days difference
int differenceOfDates = Days.daysBetween(todayDate, dateAfterTwoDays).getDays();
Log.e("logX","differenceOfDates: " + differenceOfDates);
}
要获取我正在使用的今天日期:
private DateTime getLocalTodayDate() {
LocalDate now = LocalDate.now();
DateTimeFormatter fmt = DateTimeFormat.forPattern(DATE_FORMAT);
return fmt.parseDateTime(now.toString());//return the today date
}
并获取两天后的日期:
private DateTime getDateAfterTwoDays() {
LocalDate now = LocalDate.now();
DateTimeFormatter fmt = DateTimeFormat.forPattern(DATE_FORMAT);
return fmt.parseDateTime(now.plusDays(2).toString());//return date after two days
}
问题是我不知道如何使用 JodaTime 格式化日期,有人可以告诉我如何格式化 JodaTime LocalDate
!
实际上,我的应用程序因堆栈跟踪而崩溃:
Caused by: java.lang.IllegalArgumentException: Invalid format: "16 January, 2019" is malformed at " January, 2019"
最佳答案
您即将完成,但只是您指定的模式错误,请将 "dd-mm-yyyy"
更改为 "dd-MM-yyyy"
docs-for-patterns
简单示例
System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy"))); //16-01-2019
来自 Joda DateTimeFormatter
joda-docs
模式语法大部分与 java.text.SimpleDateFormat 兼容
关于java - Java 中的 "How to format LocalDate with Custom Pattern",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54211741/