java将日期修改修改为汉字
2012-03-09 15:49
169 查看
如2012-10-10转换为二〇一二年十月十日
写的比较繁琐,有没有高手帮忙改进下
写的比较繁琐,有没有高手帮忙改进下
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; public class TimeUtil { public String chtime(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String sdate = sdf.format(date); String newsdate[] = new String[8]; //全部转化为汉字 for(int i=0;i<sdate.length();i++) { int k = Integer.parseInt(Character.toString(sdate.charAt(i))); switch (k) { case 0: newsdate[i]="〇"; break; case 1: newsdate[i]="一"; break; case 2: newsdate[i]="二"; break; case 3: newsdate[i]="三"; break; case 4: newsdate[i]="四"; break; case 5: newsdate[i]="五"; break; case 6: newsdate[i]="六"; break; case 7: newsdate[i]="七"; break; case 8: newsdate[i]="八"; break; case 9: newsdate[i]="九"; break; } } //加入年月日 List<String> s1 = new ArrayList<String>(); for(int i=0;i<8;i++) { if(i<4) { s1.add(newsdate[i]); } else if(i==4) { s1.add("年"); s1.add(newsdate[i]); } else if(i==5) { s1.add(newsdate[i]); } else if(i==6) { s1.add("月"); s1.add(newsdate[i]); } else if(i==7) { s1.add(newsdate[i]); s1.add("日"); } } String newstr=""; for(String s:s1) { newstr+=s; } /* * 截取月份、日期 */ int i = newstr.indexOf("年"); int j = newstr.indexOf("月"); String month = newstr.substring(i+1, j); String day = newstr.substring(j+1, newstr.length()-1); /* * 处理月份 */ String str1 = month.substring(0,1); String str2 = month.substring(1); String newmonth=""; if("〇".equals(str1)) { newmonth = str2; } else if("一".equals(str1)&&"〇".equals(str2)) { newmonth = "十"; } else if("一".equals(str1)&&!"〇".equals(str2)) { newmonth = "十"+str2; } /* * 处理日期 */ String st1 = day.substring(0,1); String st2 = day.substring(1); String newday = ""; if("〇".equals(st1)) { newday = st2; } else if("一".equals(st1)&&"〇".equals(st2)) { newday = "十"; } else if("一".equals(st1)&&!"〇".equals(st2)) { newday = "十"+st2; } else if("二".equals(st1)&&"〇".equals(st2)) { newday = st1+"十"; } else if("二".equals(st1)&&!"〇".equals(st2)) { newday = st1+"十"+st2; } else if("三".equals(st1)&&"〇".equals(st2)) { newday = st1+"十"; } else if("三".equals(st1)&&!"〇".equals(st2)) { newday = st1+"十"+st2; } String newstring = newstr.substring(0, i)+"年"+newmonth+"月"+newday+"日"; return newstring; } public static void main(String[] args) { TimeUtil t = new TimeUtil(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); try { Date d = sdf.parse("20121010"); System.out.println(t.chtime(d)); } catch (ParseException e) { e.printStackTrace(); } } }
相关文章推荐
- 【小技巧】修改eclipse中Java注释中的作者日期等信息
- Java的日期修改如增加一天
- JAVA设置修改日期的方法
- java的类型转换(常用字符串,日期,汉字符号等!!)
- JAVA IO - 最后修改日期
- java得到文件的创建日期和修改日期
- JAVA学习46_Java修改文件名,修改结果:文件创建日期
- java实现点选汉字验证码(自己修改后的)
- Java:几个正则式应用(检查汉字、日期、EMAIL、手机号码的合法性,替换字符串等)
- java实现记事本基本功能:新建、打开、保存、另存为、退出、替换、全部替换、复制、剪切、粘贴、全选、获取当前时间日期、修改字体、颜色、自动换行等
- ubuntu下用eclipse打开在windows下写的java程序出现汉字乱码问题和字体修改
- (java 功能代码) Java读取混合年月日汉字的日期读取
- 修改JSONObject源码使JSON官方的java扩展支持对汉字进行ascii转义
- JAVA使用FTPClient类获取linux上的文件最后修改日期少了8小时
- 非常有用的Java日期时间操作函数代码一览
- Java获取字符串的CRC8校验码(由C程序的代码修改为了Java代码)
- Bootstrap日期插件之Datetimepicker修改默认语言(附带源码)
- java字符串与日期类型转换的工具类
- win7 64位 安装java jdk1.8 ,修改配置环境变量
- java获取日期 昨天 今天 明天的日期