JAVA将输⼊的⽇期转换为中⽂⽇期JAVA将输⼊的⽇期转换为中⽂⽇期(例如: 2007-10-05 --> ⼆○○七年⼗⽉五⽇)
package com.business.practitioner;
SimpleDateFormat;
import java.util.Date;
/**
* Creation date: 2010-5-22下午03:41:58
* 功能: 将输⼊的⽇期转换为中⽂⽇期(例如: 2007-10-05  -->  ⼆○○七年⼗⽉五⽇)
* 说明:此程序假定输⼊格式为yyyy-mm-dd, 且年⽉⽇部分都为数字, 没有加上⾮法
*      输⼊的相关校验
*      测试可以输⼊ 2007-01-05
*                    2007-1-05
*                    2007-10-05
*/
public class DateConvertor {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String issueDate = "2001-12-25";
System.out.println(getYearStr(formatStr(issueDate)));
}
/
**
* create date:2010-5-22下午04:29:37
* 描述:将⽇期转换为指定格式字符串
* @param date  ⽇期
* @return
*/
public static String getDateStr(Date date)
{
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
String datestr = sdf.format(date);
return datestr;
}
/**
* create date:2010-5-22下午03:40:44
* 描述:取出⽇期字符串中的年份字符串
* @param str ⽇期字符串
* @return
*/
public static String getYearStr(String str)
{
String yearStr = "";
yearStr = str.substring(0,4);
return yearStr;
}
/**
* create date:2010-5-22下午03:40:47
* 描述:取出⽇期字符串中的⽉份字符串
* @param str⽇期字符串
* @return
*/
public static String getMonthStr(String str)
{
String m;
int startIndex = str.indexOf("年");
int endIndex = str.indexOf("⽉");
monthStr = str.substring(startIndex+1,endIndex);
return monthStr;
}
/**
* create date:2010-5-22下午03:32:31
* 描述:将源字符串中的阿拉伯数字格式化为汉字
* @param sign 源字符串中的字符
* @return
*/
public static char formatDigit(char sign){
if(sign == '0')
sign = '0';
if(sign == '1')
sign = '⼀';
if(sign == '2')
sign = '⼆';
java时间日期格式转换if(sign == '3')
sign = '三';
if(sign == '4')
sign = '四';
if(sign == '5')
sign = '五';
if(sign == '6')
sign = '六';
if(sign == '7')
sign = '七';
if(sign == '8')
sign = '⼋';
if(sign == '9')
sign = '九';
return sign;
}
/**
* create date:2010-5-22下午03:31:51
* 描述:获得⽉份字符串的长度
* @param str  待转换的源字符串
* @param pos1 第⼀个'-'的位置
* @param pos2 第⼆个'-'的位置
* @return
*/
public static int getMidLen(String str,int pos1,int pos2){
return str.substring(pos1+1, pos2).length();
}
/**
* create date:2010-5-22下午03:32:17
* 描述:获得⽇期字符串的长度
* @param str  待转换的源字符串
* @param pos2 第⼆个'-'的位置
* @return
*/
public static int getLastLen(String str,int pos2){
return str.substring(pos2+1).length();
}
/
**
* create date:2010-5-22下午03:40:50
* 描述:取出⽇期字符串中的⽇字符串
* @param str ⽇期字符串
* @return
*/
public static String getDayStr(String str)
{
String dayStr = "";
int startIndex = str.indexOf("⽉");
int endIndex = str.indexOf("⽇");
dayStr = str.substring(startIndex+1,endIndex);
return dayStr;
}
/**
* create date:2010-5-22下午03:32:46
* 描述:格式化⽇期
* @param str 源字符串中的字符
* @return
*/
public static String formatStr(String str){
StringBuffer sb = new StringBuffer();
int pos1 = str.indexOf("-");
int pos2 = str.lastIndexOf("-");
for(int i = 0; i < 4; i++){
sb.append(formatDigit(str.charAt(i)));
}
sb.append('年');
if(getMidLen(str,pos1,pos2) == 1){
sb.append(formatDigit(str.charAt(5))+"⽉");
if(str.charAt(7) != '0'){
if(getLastLen(str, pos2) == 1){
sb.append(formatDigit(str.charAt(7))+"⽇");
}
if(getLastLen(str, pos2) == 2){
if(str.charAt(7) != '1' && str.charAt(8) != '0'){
sb.append(formatDigit(str.charAt(7))+"⼗"+formatDigit(str.charAt(8))+"⽇");                    }
else if(str.charAt(7) != '1' && str.charAt(8) == '0'){
sb.append(formatDigit(str.charAt(7))+"⼗⽇");
}
else if(str.charAt(7) == '1' && str.charAt(8) != '0'){
sb.append("⼗"+formatDigit(str.charAt(8))+"⽇");
}
else{
sb.append("⼗⽇");
}
}
}
else{
sb.append(formatDigit(str.charAt(8))+"⽇");
}
}
if(getMidLen(str,pos1,pos2) == 2){
if(str.charAt(5) != '0' && str.charAt(6) != '0'){
sb.append("⼗"+formatDigit(str.charAt(6))+"⽉");
if(getLastLen(str, pos2) == 1){
sb.append(formatDigit(str.charAt(8))+"⽇");
}
if(getLastLen(str, pos2) == 2){
if(str.charAt(8) != '0'){
if(str.charAt(8) != '1' && str.charAt(9) != '0'){
sb.append(formatDigit(str.charAt(8))+"⼗"+formatDigit(str.charAt(9))+"⽇");                        }
else if(str.charAt(8) != '1' && str.charAt(9) == '0'){
sb.append(formatDigit(str.charAt(8))+"⼗⽇");
}
else if(str.charAt(8) == '1' && str.charAt(9) != '0'){
sb.append("⼗"+formatDigit(str.charAt(9))+"⽇");
}
else{
sb.append("⼗⽇");
}
}
else{
sb.append(formatDigit(str.charAt(9))+"⽇");
}
}
}
else if(str.charAt(5) != '0' && str.charAt(6) == '0'){
sb.append("⼗⽉");
if(getLastLen(str, pos2) == 1){
sb.append(formatDigit(str.charAt(8))+"⽇");
}
if(getLastLen(str, pos2) == 2){
if(str.charAt(8) != '0'){
if(str.charAt(8) != '1' && str.charAt(9) != '0'){
sb.append(formatDigit(str.charAt(8))+"⼗"+formatDigit(str.charAt(9))+"⽇");                        }
else if(str.charAt(8) != '1' && str.charAt(9) == '0'){
sb.append(formatDigit(str.charAt(8))+"⼗⽇");
}
else if(str.charAt(8) == '1' && str.charAt(9) != '0'){
sb.append("⼗"+formatDigit(str.charAt(9))+"⽇");
}
else{
sb.append("⼗⽇");
}
}
else{
sb.append(formatDigit(str.charAt(9))+"⽇");
}
}
}
else{
sb.append(formatDigit(str.charAt(6))+"⽉");
if(getLastLen(str, pos2) == 1){
sb.append(formatDigit(str.charAt(8))+"⽇");
}
if(getLastLen(str, pos2) == 2){
if(str.charAt(8) != '0'){
if(str.charAt(8) != '1' && str.charAt(9) != '0'){
sb.append(formatDigit(str.charAt(8))+"⼗"+formatDigit(str.charAt(9))+"⽇");                        }
else if(str.charAt(8) != '1' && str.charAt(9) == '0'){
sb.append(formatDigit(str.charAt(8))+"⼗⽇");
}
else if(str.charAt(8) == '1' && str.charAt(9) != '0'){
sb.append("⼗"+formatDigit(str.charAt(9))+"⽇");
}
else{
sb.append("⼗⽇");
}
}
else{
sb.append(formatDigit(str.charAt(9))+"⽇");
}
}
}
}
String();    }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。