gpt4 book ai didi

java - Joda-Time DateFormatter 在非零时显示毫秒

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:30 24 4
gpt4 key购买 nike

使用 Joda-Time ,我想显示一个日期列表,这些日期可能有也可能没有毫秒。如果某个条目有毫秒,那么它应该显示为 yyyy MM dd HH:mm:ss.SSS。如果它没有毫秒,我需要它显示为 yyyy MM dd HH:mm:ss

我想一般的问题是:有没有办法描述一个可选的格式字符串参数?

(我想避免重构我使用格式化程序的所有地方,因为这是一个大型代码库。)

最佳答案

据我所知,没有可选的模式。但是,我认为您可能对问题想得太多了。

// Sample variable name - you'd probably name this better.
public static DateTimeFormat LONG_FORMATTER = DateTimeFormatter.forPattern("yyyy MM dd HH:mm:ss.SSS");

// Note that this could easily take a DateTime directly if that's what you've got.
// Hint hint non-null valid date hint hint.
public static String formatAndChopEmptyMilliseconds(final Date nonNullValidDate) {
final String formattedString = LONG_FORMATTER.print(new DateTime(nonNullValidDate));
return formattedString.endsWith(".000") ? formattedString.substring(0, formattedString.length() - 4) : formattedString;
}

子字符串的长度可能不完全正确(未经测试的代码),但您明白了。

关于java - Joda-Time DateFormatter 在非零时显示毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2806848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com