在windows下使用DateFormat的parse方法,将字符中转化为Date类型时,一切正常。可安装到Linux下,就出现了ParseException异常。代码如下: public Date toDateTime(String str){
Date dt = new Date(); try{
DateFormat df;
df = DateFormat.getDateTimeInstance();
dt = df.parse(str);
}
catch(ParseException e){
System.err.println(e);
}
return dt;
}
Date dt = new Date(); try{
DateFormat df;
df = DateFormat.getDateTimeInstance();
dt = df.parse(str);
}
catch(ParseException e){
System.err.println(e);
}
return dt;
}
楼主【aouzo】截止到2008-07-28 18:25:28的历史汇总数据(不包括此帖):
发帖的总数量:13 发帖的总分数:290 每贴平均分数:22
回帖的总数量:9 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:5 结贴的总分数:130
无满意结贴数:0 无满意结贴分:0
未结的帖子数:8 未结的总分数:160
结贴的百分比:38.46 % 结分的百分比:44.83 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主该结一些帖子了
所以日期的默认的解析格式就不同你打印出 System.out.println(Locale.getDefault()); 看在两个os下是不是不同
SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy",locale);
Date date = formater.parse(value.toString().trim());
formater.applyPattern("yyyy-MM-dd");
value = formater.format(date);
我已经设置了显示格式。
还是不行
public String getStr(String str){String value = cell_tidy[s].getContents();
System.out.println("________________________");
System.out.println(value); Locale locale = Locale.US;
if(CellType.DATE.equals(cell_tidy[s].getType())){
value=toDate(getStr(value));
svo.setAttributeValue(encolumns[s], value);
svo.setRowNo(String.valueOf(j));
System.out.println(encolumns[s]+","+value);
-----------------------------------------------------
public String getStr(String str){
String[] parts = str.split("/");
StringBuffer str1=new StringBuffer() ;
for(int i=0;i<parts.length;i++){
str1.append(parts[i]);
if(i<parts.length-1)
str1.append("-");
}
return str1.toString();
}
public String toDate(String str){
//Date dt = new Date();
String[] parts = str.split("-");
StringBuffer str1=new StringBuffer() ;
if(parts.length >= 3){
int months = Integer.parseInt(parts[0]);
int days = Integer.parseInt(parts[1]);
int years = Integer.parseInt(parts[2]);
// int hours = 0;
// int minutes = 0;
// int seconds = 0;
for(int i=0;i<parts.length;i++){
str1.append(parts[parts.length-1-i]);
if(i<parts.length-1)
str1.append("-");
}
}
return str1.toString();
}
发现在widows 存入的格式2007-08-09
linux存入的格式9-8-07
我认为都入的格式有问题。但不知什么原因???
如果可以的话,统一一下标准
这样转换就没有问题
从数据库取出来,java后台处理格式
我觉得没有问题