fecha java cómo llegar a cero
SimpleDateFormat
Utilice esto para convertir.
La idea es esta. Se elimina el último 0 en un bucle y se deben conservar los dígitos pares, es decir, se debe conservar el último 0 de 20091010.
(Al juzgar, primero verifique si la longitud de la cadena es un número impar o par. Si es un número impar)
Luego, de acuerdo con la longitud, vaya al formato superior aaaa-MM-dd o aaaa-MM o aaaa y así sucesivamente.
Déjame escribirlo y te lo daré cuando lo termine.
clase pública StringToDate {
cadena pública stringToDate(String str){
int length=str.length();
char c="0".charAt(0);
if(str.length()%2==1){
if(Character.valueOf(c).equals( Character.valueOf(str.charAt(length-1)))){
str=str.substring(0,str.length()-1);
return stringToDate( str);
}else{
return str;
}
}else{
si( Character.valueOf(c).equals(Character.valueOf(str.charAt(length-1)))&&
Character.valueOf(c).equals(Character.valueOf(str.charAt(length- 2))) ){
str=str.substring(0,str.length()-2);
return stringToDate(str);
}else{
return str;
}
}
}
public static void main(String [] args) {
StringToDate std=new StringToDate();
System.out.println(std.stringToDate("200901010000"));
System.out.println(std.stringToDate("200901000000"));
System.out.println(std.stringToDate("200901010000"));
System.out. println(std.stringToDate("200910010000"));
System.out.println(std.stringToDate("200910"));
System.out.println(std. stringToDate("200910000000"));
}
}
Resultado
20090101
200901 p> p>
20090101
20091001
200910
200910
Debería estar bien, simplemente determine recursivamente la longitud de la cadena, número impar Determina si el último dígito es 0, y si es un número par, determina si los dos últimos dígitos son 0.