在Java中转换MySQL日期格式

Big*_*dEO 4 java mysql date

我是第一次在这里接触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的格式化日期?

Joã*_*cos 6

您可以将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)