我是第一次在这里接触Java,所以请放轻松。我必须更正别人的旧代码。这个Java程序从MySQL表中获取数据,并准备将其显示在网页上。我发现他们的MySQL表出于某种原因在所有日期中都使用了INT字段。因此,例如,今天的日期存储为INT3222017。我首先必须向MySQL表中添加适当的DATE列。接下来,我重新设置另一个Java脚本,以从该脚本将使用的MySQL表的更大表中提取数据。
现在,我需要更改当前将INT字段格式化为MM / dd / yyyy的代码,以采用DATE字段(存储为yyyy-MM-dd)并将它们转换为相同的MM / dd / yyyy。
这是一段在INT字段上使用dateFormat函数的代码-
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;
}
Run Code Online (Sandbox Code Playgroud)
这是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;
}
Run Code Online (Sandbox Code Playgroud)
如何将DATE字段(yyyy-MM-dd)转换为MM / dd / yyyy的格式化日期?
您可以将String转换为Date util:
DateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date date = format.parse(your string);
Run Code Online (Sandbox Code Playgroud)
然后将Date对象转换为您的String格式:
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
String result = df.format(date);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4524 次 |
| 最近记录: |