在程序中,若使用涉及到编码的方法,如getBytes(),并且未指定编码,则使用系统底层编码,而中英文系统的底层编码是不同的,中文系统如Win7为GB18030,Win Server2003为GBK,均为中文编码,英文系统如Win Server 2008为Cp1252,在使用getBytes()获得中文输入流时,若未指定编码为GBK之类,则英文系统的服务器无法获得正确的输入,为乱码,此时指定getBytes("GBK")即可。
日期问题:
================================================================================
英文操作系统下:
Java代码:
Date date = new Date();
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date01 = dateFormat1.parse(dateFormat1.format(date));
System.out.println(dateFormat1.format(date));
System.out.println(date01);
输出结果:
2013-01-09
Wed Jan 09 00:00:00 CST 2013
Java代码:
DateFormat dateFormat2 = DateFormat.getDateInstance();
Date date02 = dateFormat2.parse(dateFormat2.format(date));
System.out.println(dateFormat2.format(date));
System.out.println(date02);
输出结果:
Jan 9, 2013
Wed Jan 09 00:00:00 CST 2013
================================================================================
日期问题:
================================================================================
英文操作系统下:
Java代码:
Date date = new Date();
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date01 = dateFormat1.parse(dateFormat1.format(date));
System.out.println(dateFormat1.format(date));
System.out.println(date01);
输出结果:
2013-01-09
Wed Jan 09 00:00:00 CST 2013
Java代码:
DateFormat dateFormat2 = DateFormat.getDateInstance();
Date date02 = dateFormat2.parse(dateFormat2.format(date));
System.out.println(dateFormat2.format(date));
System.out.println(date02);
输出结果:
Jan 9, 2013
Wed Jan 09 00:00:00 CST 2013
================================================================================
中文操作系统下:
Java代码:
Date date = new Date();
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date01 = dateFormat1.parse(dateFormat1.format(date));
System.out.println(dateFormat1.format(date));
System.out.println(date01);
输出结果:
2013-01-09
Wed Jan 09 00:00:00 CST 2013
Java代码:
DateFormat dateFormat2 = DateFormat.getDateInstance();
Date date02 = dateFormat2.parse(dateFormat2.format(date));
System.out.println(dateFormat2.format(date));
System.out.println(date02);
输出结果:
2013-1-9
Wed Jan 09 00:00:00 CST 2013
Java代码:
Date date = new Date();
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date date01 = dateFormat1.parse(dateFormat1.format(date));
System.out.println(dateFormat1.format(date));
System.out.println(date01);
输出结果:
2013-01-09
Wed Jan 09 00:00:00 CST 2013
Java代码:
DateFormat dateFormat2 = DateFormat.getDateInstance();
Date date02 = dateFormat2.parse(dateFormat2.format(date));
System.out.println(dateFormat2.format(date));
System.out.println(date02);
输出结果:
2013-1-9
Wed Jan 09 00:00:00 CST 2013
出错分析:
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat dateFormat1 = DateFormat.getDateInstance();
date = dateFormat1.parse(dateFormat.format(date));
由于两种格式的日期数据在英文操作系统下有两种效果,所以在使用这种方式转换进行日期转换的时候会出现异常。建议只选用某种方式转换。
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat dateFormat1 = DateFormat.getDateInstance();
date = dateFormat1.parse(dateFormat.format(date));
由于两种格式的日期数据在英文操作系统下有两种效果,所以在使用这种方式转换进行日期转换的时候会出现异常。建议只选用某种方式转换。