我第一次接触Java,所以请对我温柔点。我现在正在纠正别人的旧代码。这个Java程序从MySQL表中获取数据,并准备将其呈现在网页上。我发现他们的MySQL表出于某种原因使用INT字段存储所有日期。例如,今天的日期存储为INT 3222017。我首先必须向MySQL表添加正确的DATE列。接下来,我重新制作了另一个Java脚本,从较大的表格中提取数据,供此脚本使用的MySQL表。
现在,我需要更改当前格式化INT字段为MM/dd/yyyy的代码,以便使用DATE字段(存储为yyyy-MM-dd)并将它们转换为相同的MM/dd/yyyy。
这里是一段使用函数dateFormat处理INT字段的代码片段 -
String formattedDate = "";
formattedDate = dateFormat(oneSpectro.getSpectroLastDate());
result.setSpectroLastDate(formattedDate);
formattedDate = dateFormat(oneSpectro.getSpectroOrigDate());
result.setSpectroOrigDate(formattedDate);
formattedDate = dateFormat(oneSpectro.getSpectroCalDate());
result.setSpectroCalDate(formattedDate);
}
return result;
}
这里是dateFormat函数 -
public String dateFormat(int theDate){
String dateString = "";
Integer dateInt = 0;
if (theDate < 10000000){
dateInt = new Integer(theDate);
dateString = dateInt.toString();
// Add preceding 0 to make the date 8 digits in length.
dateString = "0" + dateString;
}
else {
// Process an 8 digit date.
dateInt = new Integer(theDate);
dateString = dateInt.toString();
}
// Install date slashes in the date string.
if (dateString.length() == 8){
dateString = dateString.substring(0, 2) + "/" + dateString.substring(2, 4) + "/"
+ dateString.substring(4);
}
return dateString;
}
我该如何将一个日期字段(yyyy-MM-dd)转换为格式化的日期 MM/dd/yyyy?
dateFormat()
存在只是因为有人想出了将日期存储在如此愚蠢的方式中。当您读取普通日期时,Java 中包含所有格式化功能。而且,日期实际上并没有以2010-01-01
格式存储。它是以该格式 显示 给您的。 - Kayaman