4

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

任何人都可以帮助我吗?

这是我的代码...

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

4 回答 4

11

使用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);
于 2012-08-28T01:38:38.897 回答
0

你可以这样做...

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

在时间选择器里面

于 2014-11-20T19:06:45.230 回答
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;
    }
于 2016-01-08T11:23:05.970 回答
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)
于 2019-10-18T07:14:37.710 回答