【问题标题】:JavaFX: formatting Duration into String?JavaFX:将持续时间格式化为字符串?
【发布时间】:2009-08-15 21:46:21
【问题描述】:

是否有某种内置方法或简单函数可以将 Duration 转换为 hh:mm:ss 格式的字符串?例如,我正在寻找可以将 123402 ms 的 Duration 转换为“2:03”的字符串。

【问题讨论】:

    标签: string javafx duration


    【解决方案1】:

    或者,您可以使用 java.util.Formatter 中的标志。

    action: function() {
        txt = "{%tM dur}.{%tS dur}"
    }
    

    这将导致前导 0,如“02.03”中的 dur = “123402ms”。

    【讨论】:

      【解决方案2】:

      您可以使用 String.valueOf(dur) 将 Duration 转换为字符串。然后,您可以使用 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);
                      }
                  }
              ]
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2018-05-22
        • 1970-01-01
        • 1970-01-01
        • 2021-01-11
        • 1970-01-01
        • 1970-01-01
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多