如何在android中显示两分钟的分钟数

时间:2012-08-28 01:32:19

标签: android timepicker

我尝试使用Android TimePicker在我的代码中显示分钟的“两个数字”。但我还没有得到它......时间只以X:X格式显示。例如9:05将在我的应用9:5中显示。

有人可以帮我吗?

这是我的代码......

idtime.setText(new StringBuilder()
         .append(String.valueOf(mHour)).append(":")
         .append(String.valueOf(mMinute)).toString());

4 个答案:

答案 0 :(得分:9)

使用SimpleDateFormat

示例:

假设您正在显示当前时间:

Date date = Calendar.getInstance().getTime();

SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
String output = sf.format(date).toString();

idtime.setText(output);

另一种更简单的零填充方法,您可以使用String.format

String output = String.format("%02d:%02d", mHour, mMinute);
idtime.setText(output);

答案 1 :(得分:1)

你可以这样做......

if (minute < 10) {
     hour.setText(hour + ":0" + minute);
} else {
     hour.setText(hour + ":" + minute);
}

在TimePicker内部

答案 2 :(得分:0)

public static String getDuration(long milliseconds) {
        long sec = (milliseconds / 1000) % 60;
        long min = (milliseconds / (60 * 1000))%60;
        long hour = milliseconds / (60 * 60 * 1000);

        String s = (sec < 10) ? "0" + sec : "" + sec;
        String m = (min < 10) ? "0" + min : "" + min;
        String h = "" + hour;

        String time = "";
        if(hour > 0) {
            time = h + ":" + m + ":" + s;
        } else {
            time = m + ":" + s;
        }
        return time;
    }

答案 3 :(得分:0)

您可以使用简单的格式化程序格式化日期,它将返回两位数的值

            val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
            val date = formatter.parse(start)
            var output = ""
            val formatter1 = SimpleDateFormat("hh:mm")
            output = formatter1.format(date)