Java 将字符串转换为具有日期格式的字符串

Java 将字符串转换为具有日期格式的字符串,java,string,parsing,format,Java,String,Parsing,Format,我想编写一个java方法,该方法在输入中接受一个字符串,然后按照以下规则输出另一个字符串: input output "123456" "12:34:56" "23456" "02:34:56" "3456" "00:34:56" "456" "00:04:56" "6" "00:00:06" 任何帮助都将不胜感激。谢谢。我建议使用以下日期格式。这将解决所有转换的负担 DateFormat formatFrom

我想编写一个java方法,该方法在输入中接受一个字符串,然后按照以下规则输出另一个字符串:

input        output
"123456"     "12:34:56"
"23456"      "02:34:56"
"3456"       "00:34:56"
"456"        "00:04:56"
"6"          "00:00:06"

任何帮助都将不胜感激。谢谢。

我建议使用以下日期格式。这将解决所有转换的负担

    DateFormat formatFrom = new SimpleDateFormat("HHmmss");
    DateFormat formatTo = new SimpleDateFormat("HH:mm:ss");
    String origTimeString = "456";
    String newDateString = null;
    try {
        String formattedString = 
                        String.format("%06d", Integer.parseInt(origTimeString));
        Date date = formatFrom.parse(formattedString);
        newDateString = formatTo.format(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    System.out.println("Updated string : " + newDateString);

复制此方法并使用它

1如果字符串长度大于6,则返回错误

2首先用“0”修复字符串

3秒用“:”修复字符串

4 StringBuilder用于concat。避免对concat使用“+”运算符

5方法“getDate”是静态的,因为“main”方法也是静态的

public static String getDate(String variable){

    StringBuilder aux= new StringBuilder();
    StringBuilder string= new StringBuilder();
    int length = variable.length();


    if(length>6 || length<=0){
        return "ERROR";
    }else{

        //first to fill blanks with 0
        for(int i=0;i<6-length;i++){
            aux.append("0");
        }
        variable = aux.append(variable).toString();


        //second to put :
        for(int i=0;i<6;i++){

           if(i%2==0 && i!=0){  
               string.append(":");
           }
           string.append(variable.charAt(i));
        }
        return string.toString();
    }
}

public static void main(String[] args) {
    System.out.print(getDate("464"));
}

想发布至少一些伪代码吗?你试过什么?您能发布不起作用的代码吗?有两个简单的步骤:1在开始处添加0以获得长度等于6的字符串2在字符串中添加“:”符号写下解决该问题的算法。首先弄清楚大小为1的字符串要达到所需的输出究竟需要做什么,然后确定使用最大字符串实现输出的步骤。涉及哪些步骤?用纸和铅笔把它们写下来。然后按顺序列出步骤。你有你的算法。转换为java。可能重复的