Java 类似于JIRA时间格式的时间解析库
我正在寻找一个字符串解析库,格式为“2y 1M 3w 4d 12h 20m 10s”(2年、1个月、3周、4天、12小时、20分钟和10秒)。将它们解析为毫秒可能是前进的最短路径。本质上,我希望从时间戳中添加/减去解析后的字符串 解决方案由@shmosel提供:Java 类似于JIRA时间格式的时间解析库,java,scala,Java,Scala,我正在寻找一个字符串解析库,格式为“2y 1M 3w 4d 12h 20m 10s”(2年、1个月、3周、4天、12小时、20分钟和10秒)。将它们解析为毫秒可能是前进的最短路径。本质上,我希望从时间戳中添加/减去解析后的字符串 解决方案由@shmosel提供: import org.joda.time.format.PeriodFormatterBuilder val pf = new PeriodFormatterBuilder() .appendYears() .
import org.joda.time.format.PeriodFormatterBuilder
val pf = new PeriodFormatterBuilder()
.appendYears()
.appendSuffix(" y", "y")
.appendSeparator("", " ")
.appendMonths()
.appendSuffix(" M", "M")
.appendSeparator("", " ")
.appendWeeks()
.appendSuffix(" w", "w")
.appendSeparator("", " ")
.appendDays()
.appendSuffix(" d", "d")
.appendSeparator("", " ")
.appendHours()
.appendSuffix(" h", "h")
.appendSeparator("", " ")
.appendMinutes()
.appendSuffix(" m", "m")
.appendSeparator("", " ")
.appendSeconds()
.appendSuffix(" s", "s")
.toFormatter()
// Is there a more idiomatic way to add
val buffer = pf.parsePeriod(bufferPeriod)
请注意,订单很重要(
10y 10s
是有效的,10s 10y
不是有效的)。看起来这很合适,谢谢链接。