[英]Convert a string like "10s" or "10h" to Duration
我嘗試解析 Duration 標題中提到的字符串或類似的內容。 諸如Duration.parse()
之類的東西無法按照我希望的方式工作。
給出了像“10s”或“10h”這樣的字符串。 我需要一個解決方案,使用該字符串,並將其轉換為類似Duration
或類似的東西。
編輯:為了澄清我的需求:我不想將“類似持續時間”的字符串與“PTxxx”一起使用,也不想自己解析這些字符串。 某處應該有一個已經實施的解決方案,恕我直言。
有任何想法嗎?
你檢查過文檔嗎? 以下是如何使用Duration.parse()
。
例子:
"PT20.345S" -- parses as "20.345 seconds" "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" "P-6H3M" -- parses as "-6 hours and +3 minutes" "-P6H3M" -- parses as "-6 hours and -3 minutes" "-P-6H+3M" -- parses as "+6 hours and -3 minutes"
因此,如果您想要 10 秒的持續時間,則Duration.parse("PT10S")
或Duration.parse("PT10H")
為 10 小時。
https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html#parse-java.lang.CharSequence-
Duration tenSec = Duration.parse("PT10s");
Duration tenHours = Duration.parse("PT10h");
org.springframework.boot.convert.DurationStyle就是你要找的。
DurationStyle.detectAndParse("10s")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.