首页 > 编程知识 正文

java字符串转时间格式,java时间格式转换代码

时间:2023-05-04 06:33:00 阅读:172259 作者:2110

JAVA将输入的日期转换为中文日期。 例如: 2007-10-05 --二七年十月五日)

package com.business.practitioner;

import Java.text.simple date format;

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

*/

公共类数据转换器{

//*

* @param args

*/

publicstaticvoidmain (string [ ] args ) {

//todo自动生成方法stub

String issueDate='2001-12-25 ';

system.out.println (getyear str (formatstr ) issuedate );

}

//*

* create date:2010-5-22下午04:29:37

*说明:将日期转换为指定的格式字符串

* @param date日期

* @return

*/

publicstaticstringgetdatestr (datedate )

{

simpledateformatsdf=newsimpledateformat (yyyy-mm-DD );

stringdatestr=SDF.format(date;

返回数据;

}

//*

* create date:2010-5-22下午03:40:44

*说明:从日期字符串中取出年份字符串

* @param str日期字符串

* @return

*/

公共字符串目标(字符串) )。

{

字符串年数tr=' ';

yar str=str.substring (0,4 );

返回年数;

}

//*

* create date:2010-5-22下午03:40:47

*说明:从日期字符串中取出月字符串

* @param str日期字符串

* @return

*/

公共字符串监视(stringstr ) )。

{

字符串m;

int startIndex=str.indexOf ('年);

int endIndex=str.indexOf ('月);

monthstr=str.substring (startindex 1,endIndex );

返回监视器;

}

//*

* create date:2010-5-22下午03:32:31

*说明:将源字符串中的阿拉伯数字格式为汉字

* @param sign源字符串中的字符

* @return

*/

publicstaticcharformatdigit (char sign ) (

if(sign=='0' )

sign='0';

if(sign=='1' )

sign='一';

if(sign=='2' )

sign='二';

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))+"日");

}

}

}

}

return sb.toString();

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。