JavaFXの:文字列に期間をフォーマット?
質問
組み込みメソッドまたはhh:mm:ss
形式の文字列に期間を変換する簡単な関数のいくつかの種類がありますか?例えば、私は「123402 ms
」の文字列に2:03
の持続時間を変えると何かを探しています。
解決
また、あなたがjava.util.Formatterからフラグを使用することができます。
action: function() {
txt = "{%tM dur}.{%tS dur}"
}
これは、DUR = "123402ms" は、 "02.03" のように、先頭の0になります。
他のヒント
あなたはString.valueOf(DUR)を使用して文字列に期間を変換することができます。あなたは[文字列を再フォーマットするには、Javaの書式クラスを使用することができます。あなたは道のJavaFXのは、文字列としての持続時間をフォーマットするため(例えば「123402.0ms」)を文字列の末尾を切る必要があります。 JavaFXのはLong.valueOf(DUR)機能を持っていた場合、これは容易になるだろう。
以下のサンプルを参照してください。
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.control.Button;
import java.text.SimpleDateFormat;
import java.util.Date;
var fmt = new SimpleDateFormat("m:ss");
var dur: Duration = 123402ms;
var txt: String = String.valueOf(dur);
Stage {
title : "Duration Switch"
scene: Scene {
width: 400
height: 200
content: [
Text {
font : Font {
size: 24
}
x: 10, y: 30
content: bind "Duration={txt}"
},
Button {
translateY: 140
text: "Switch"
action: function() {
var durStr = String.valueOf(dur);
durStr = durStr.substring(0, durStr.indexOf("."));
var date = new Date(Long.parseLong(durStr));
txt = fmt.format(date);
}
}
]
}
}
所属していません StackOverflow