在做生物信息学时,经常需要使用到Protein Data Bank中的数据,时不时的需要使用PDB文件中的时间(时间格式为10-MAR-14 (2014年三月10日))将已有数据分成训练数据和独立测试数据,时间如何解析是一件比较简单的事情,为了方便寻找故将这段代码贴在这里。
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
private static double parsePDBTimeStr(String pdb_time){ // eg.: 10-MAR-14
System.out.println(pdb_time);
double year = Double.parseDouble(pdb_time.substring(7, 9));
if (year > 16){ //将年份换算成4位数
year += 1900;
}else{
year += 2000;
}
String month = pdb_time.substring(3, 6);
double mon = 0;
if (month.equals("JAN")){
mon = 1;
}else if (month.equals("FEB")){
mon = 2;
}else if (month.equals("MAR")){
mon = 3;
}else if (month.equals("APR")){
mon = 4;
}else if (month.equals("MAY")){
mon = 5;
}else if (month.equals("JUN")){
mon = 6;
}else if (month.equals("JUL")){
mon = 7;
}else if (month.equals("AUG")){
mon = 8;
}else if (month.equals("SEP")){
mon = 9;
}else if (month.equals("OCT")){
mon = 10;
}else if (month.equals("NOV")){
mon = 11;
}else if (month.equals("DEC")){
mon = 12;
}
double day = Double.parseDouble(pdb_time.substring(0, 2));
return year*10000+mon*100+day;
}