Java 将字符串转换为具有日期格式的字符串
我想编写一个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
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。可能重复的