如何以 minute:second 格式显示时间,分钟包括小时?
How to show time in minute:second format, with minutes including the hours?
我想在我的视图中显示从某个点开始经过的时间。为此,我正在使用 Chronometer
class。
然而,问题是,一小时后,它会显示“1:00:00”,但我希望它显示 60:00 等等(比如 80 分钟后应该是 80:00 而不是 1:20:00)
我试过使用 SimpleDateFormat
class 和 "mm:ss" 格式。当然,它不显示小时,但一个小时后它会转到 00:00 等等。
是否有针对此问题的解决方案,例如我可以使用的 Java 中的自定义格式化程序?
String displayedTime = your time in format of HH:mm
String[] splittedTime = displayedTime.split(":");
String desiredTimeFormat = String.valueOf(Integer.valueOf(splittedTime[0])*60) + ":" + splittedTime[1];
所以这是我结合@parliament's回答后得出的解决方案:
// This is my base time for the chronometer
baseTime = SystemClock.elapsedRealtime() - (new Date().getTime() - myInitialTimeInMillis);
Date baseDate = new Date(baseTime);
chronometer.setOnChronometerTickListener(chronometer1 -> {
baseTime += 1000;
baseDate.setTime(baseTime);
chronometer.setText(getTimeInMinuteSecondFormat(baseDate));
});
chronometer.start();
这是我常用的获取格式化时间的util方法:
public static String getTimeInMinuteSecondFormat(Date date) {
String displayTime = getHourMinuteSecondFormatDate(date);
String[] splitDisplayTime = displayTime.split(":");
if (Integer.valueOf(splitDisplayTime[0]) <= 0) {
return splitDisplayTime[1] + ":" + splitDisplayTime[2];
} else {
return (Integer.valueOf(splitDisplayTime[0]) * 60) + Integer.valueOf(splitDisplayTime[1]) + ":" + splitDisplayTime[2];
}
}
工作起来很有魅力!谢谢@parliament
我想在我的视图中显示从某个点开始经过的时间。为此,我正在使用 Chronometer
class。
然而,问题是,一小时后,它会显示“1:00:00”,但我希望它显示 60:00 等等(比如 80 分钟后应该是 80:00 而不是 1:20:00)
我试过使用 SimpleDateFormat
class 和 "mm:ss" 格式。当然,它不显示小时,但一个小时后它会转到 00:00 等等。
是否有针对此问题的解决方案,例如我可以使用的 Java 中的自定义格式化程序?
String displayedTime = your time in format of HH:mm
String[] splittedTime = displayedTime.split(":");
String desiredTimeFormat = String.valueOf(Integer.valueOf(splittedTime[0])*60) + ":" + splittedTime[1];
所以这是我结合@parliament's回答后得出的解决方案:
// This is my base time for the chronometer
baseTime = SystemClock.elapsedRealtime() - (new Date().getTime() - myInitialTimeInMillis);
Date baseDate = new Date(baseTime);
chronometer.setOnChronometerTickListener(chronometer1 -> {
baseTime += 1000;
baseDate.setTime(baseTime);
chronometer.setText(getTimeInMinuteSecondFormat(baseDate));
});
chronometer.start();
这是我常用的获取格式化时间的util方法:
public static String getTimeInMinuteSecondFormat(Date date) {
String displayTime = getHourMinuteSecondFormatDate(date);
String[] splitDisplayTime = displayTime.split(":");
if (Integer.valueOf(splitDisplayTime[0]) <= 0) {
return splitDisplayTime[1] + ":" + splitDisplayTime[2];
} else {
return (Integer.valueOf(splitDisplayTime[0]) * 60) + Integer.valueOf(splitDisplayTime[1]) + ":" + splitDisplayTime[2];
}
}
工作起来很有魅力!谢谢@parliament