Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Java:字符串替换以转换时间_Android_String_Time_Str Replace - Fatal编程技术网

Android Java:字符串替换以转换时间

Android Java:字符串替换以转换时间,android,string,time,str-replace,Android,String,Time,Str Replace,我试图将存储在数据库中的时间转换为字符串类型,并以适当的格式打印出来。我尝试使用.replaceAll。这导致5:3被替换为05:03,但也将17:3变为0107:03。有人对正确的方法有什么建议吗 String moduleStartHour = (c.getString(c.getColumnIndex(database.KEY_MODULESTARTHOUR))); String moduleStartMinute = (c.getString(c.getColumnIndex

我试图将存储在数据库中的时间转换为字符串类型,并以适当的格式打印出来。我尝试使用.replaceAll。这导致5:3被替换为05:03,但也将17:3变为0107:03。有人对正确的方法有什么建议吗

  String moduleStartHour = (c.getString(c.getColumnIndex(database.KEY_MODULESTARTHOUR)));
    String moduleStartMinute = (c.getString(c.getColumnIndex(database.KEY_MODULESTARTMINUTE)));

    String newModuleStartHour= moduleStartHour.replaceAll("0", "00").replaceAll("1", "01").replaceAll("2", "03")
            .replaceAll('4', "04").replaceAll("5", "05").replaceAll("6", "06").replaceAll("7", "07").replaceAll("8", "08")
            .replaceAll("9", "09");
    String newModuleStartMinute= moduleStartMinute.replaceAll("0", "00").replaceAll("1", "01").replaceAll("2", "03")
            .replaceAll("4", "04").replaceAll("5", "05").replaceAll("6", "06").replaceAll("7", "07").replaceAll("8", "08")
            .replaceAll("9", "09");

    StringBuilder sb =new StringBuilder();
    sb.append(newModuleStartHour).append(":").append(newModuleStartMinute);
    String moduleStartTime = sb.toString();
或者如果我们在整个过程中使用StringBuilder

    StringBuilder sb = new StringBuilder();

    if (moduleStartHour.length() == 1)
        sb.append("0");

    sb.append(moduleStartHour).append(":");

    if (moduleStartMinute.length() == 1)
        sb.append("0");

    sb.append(moduleStartMinute);

    String moduleStartTime = sb.toString();

谢谢dymmeh,但是时间是以字符串形式存储的,因此moduleStartHour已经是一个字符串,就像ModuleStartMinute一样。您也可以将StringBuilder与if语句一起使用。:)
    StringBuilder sb = new StringBuilder();

    if (moduleStartHour.length() == 1)
        sb.append("0");

    sb.append(moduleStartHour).append(":");

    if (moduleStartMinute.length() == 1)
        sb.append("0");

    sb.append(moduleStartMinute);

    String moduleStartTime = sb.toString();