java - Java 中的 "How to format LocalDate with Custom Pattern"

标签 java android jodatime

我是 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/

相关文章:

java - 无法在mysql中使用spring data jpa创建表

java - 线程是否需要处于 RUNNABLE 状态才能被中断?

android - 从基于安卓的移动条码扫描仪检测条码扫描事件

java - 将 UTC 转换为东部盛行时间(EDT 或 EST)

java - 异常 : Caused by: java. lang.NullPointerException: Assets

java - 将 Avro 二进制字符串转换为 Json

android - android风格声明中的 "?"是什么意思

android - 如果我从 Play 开发者控制台删除了一个 APK,在我点击发布之前它是否仍然可以下载?

java - 将 joda-time-android 与混淆器一起使用

java - 如何解决 joda-time 和 org.joda 之间的包冲突