Duration을 hh:mm:ss
형식의 문자열로 변환하는 기본 제공 메서드 또는 간단한 함수가 있습니까? 예를 들어, Duration of 123402 ms
을 "2:03
"의 문자열로 변환하는 것을 찾고 있습니다.JavaFX : 길이를 문자열로 지정 하시겠습니까?
0
A
답변
1
또는, java.util.Formatter에서 플래그를 사용할 수 있습니다.
이렇게하면 "02.03"과 같이 dur = "123402ms"의 앞에 0이 표시됩니다.
0
Duration을 String.valueOf (dur)를 사용하여 String으로 변환 할 수 있습니다. 그런 다음 Java 형식화 클래스를 사용하여 문자열을 재 형식화 할 수 있습니다. JavaFX가 길이를 문자열 (예 : '123402.0ms')로 형식화하는 방식 때문에 String의 끝을 잘라야합니다. 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);
}
}
]
}
}