/* 功能: 将输入的日期转换为中文日期(例如: 2007-10-05 --> 二○○七年十月五日)
* 说明:此程序假定输入格式为yyyy-mm-dd, 且年月日部分都为数字, 没有加上非法
* 输入的相关校验, 读者如有需要请自行加上.
* 测试可以输入 2007-01-05
* 2007-1-05
* 2007-10-05
*/
public class DateConvertor
/**
* 格式化日期
* @param str 源字符串中的字符
* @return
*/
public static String formatStr(String str)
sb.append('年');
if(getMidLen(str,pos1,pos2) == 1)
if(getLastLen(str, pos2) == 2)
else if(str.charAt(7) != '1' && str.charAt(8) == '0')
else if(str.charAt(7) == '1' && str.charAt(8) != '0')
else
}
}
else
}
if(getMidLen(str,pos1,pos2) == 2)
if(getLastLen(str, pos2) == 2)
else if(str.charAt(8) != '1' && str.charAt(9) == '0')
else if(str.charAt(8) == '1' && str.charAt(9) != '0')
else
}
else
}
}
else if(str.charAt(5) != '0' && str.charAt(6) == '0')
if(getLastLen(str, pos2) == 2)
else if(str.charAt(8) != '1' && str.charAt(9) == '0')
else if(str.charAt(8) == '1' && str.charAt(9) != '0')
else
}
else
}
}
else
if(getLastLen(str, pos2) == 2)
else if(str.charAt(8) != '1' && str.charAt(9) == '0')
else if(str.charAt(8) == '1' && str.charAt(9) != '0')
else
}
else
}
}
}
return sb.toString();
}
/**
* 将源字符串中的阿拉伯数字格式化为汉字
* @param sign 源字符串中的字符
* @return
*/
public static char formatDigit(char sign)
/**
* 获得月份字符串的长度
* @param str 待转换的源字符串
* @param pos1 第一个'-'的位置
* @param pos2 第二个'-'的位置
* @return
*/
public static int getMidLen(String str,int pos1,int pos2)
/**
* 获得日期字符串的长度
* @param str 待转换的源字符串
* @param pos2 第二个'-'的位置
* @return
*/
public static int getLastLen(String str,int pos2)
}
查看本文来源
用户评论