
我简单试了几个样例 没问题。有问题麻烦大家评论
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] datetime = new String[n];
for(int i = 0; i < n; i ++)
datetime[i] = sc.next();
Comparator<String> cmp = new Comparator<String>() {
public int compare(String a, String b){
String dtA = getDT(a), dtB = getDT(b);
return dtA.compareTo(dtB);
}
};
Arrays.sort(datetime,cmp);
for(int i = 0; i < n; i ++)
System.out.println(datetime[i]);
}
public static String getDT(String ts){
String[] datatime = new String[4];
String[] date = ts.split(":");
datatime[0] = date[0]; datatime[1] = date[1];
String[] time = date[2].split("\\.");
datatime[2] = time[0]; datatime[3] = time[1];
if(datatime[0].length() < 2) datatime[0] = "0"+datatime[0];
if(datatime[1].length() < 2) datatime[1] = "0"+datatime[1];
if(datatime[2].length() < 2) datatime[2] = "0"+datatime[2];
int k = 3 - datatime[3].length();
while(k>0) {
datatime[3] = "0"+datatime[3];
k--;
}
String rst = "";
for(int i = 0; i < 4; i++){
rst += datatime[i];
}
return rst;
}
}