Joda - 从PeriodFormat.getDefault().print()中删除秒、毫秒?

发布于 2024-12-06 01:32:24 字数 272 浏览 1 评论 0原文

我有一个这样的方法:

public static String getFormattedDateDifference(DateTime startDate, DateTime endDate) {
        Period p = new Period(startDate, endDate);
        return PeriodFormat.getDefault().print(p);
    }

我想从打印中删除秒和毫秒。我怎样才能做到这一点?

I have a method like this:

public static String getFormattedDateDifference(DateTime startDate, DateTime endDate) {
        Period p = new Period(startDate, endDate);
        return PeriodFormat.getDefault().print(p);
    }

I'd like to chop off the seconds and milliseconds from printing. How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情魔剑神 2024-12-13 01:32:24

如果您只想将其缩短到分钟,为什么不直接指定正确的周期类型来开始呢?

private static final PeriodType PERIOD_TO_MINUTES = 
     PeriodType.standard().withSecondsRemoved().withMillisRemoved();

public static String getFormattedDateDifference(DateTime startDate,
                                                DateTime endDate) {

    Period p = new Period(startDate, endDate, PERIOD_TO_MINUTES);
    return PeriodFormat.getDefault().print(p);
}

我希望它能按照您想要的方式格式化。

请注意,如果这些确实是日期,您可能应该使用PeriodType.yearMonthDay()并将值指定为LocalDateDateTime 应用于日期和时间值,而不仅仅是日期。

If you only want it down to minutes, why not just specify the right period type to start with?

private static final PeriodType PERIOD_TO_MINUTES = 
     PeriodType.standard().withSecondsRemoved().withMillisRemoved();

public static String getFormattedDateDifference(DateTime startDate,
                                                DateTime endDate) {

    Period p = new Period(startDate, endDate, PERIOD_TO_MINUTES);
    return PeriodFormat.getDefault().print(p);
}

I expect that to format in the way you want.

Note that if these are really meant to be dates, you should probably use PeriodType.yearMonthDay() and specify the values as LocalDate. DateTime should be used for date and time values, not just dates.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文