如何将csv日期格式从yyyy / mm / ddd转换为yyyymmdd

时间:2018-03-20 12:30:11

标签: java arrays csv

我正在尝试使用以下格式的日期导入csv:         2018/01/25 mysql中的日期格式在Int中,我想删除当前日期格式的斜杠。 我需要看到这样的日期:

20180125

我只需要在第一列而不是csv的其余部分工作。 这是读取csv的代码。

while(reader.readLine()!= null)
{

    String read = reader.readLine();//bufferedreader string variable
    String [] rawRow = read.split(",");
    String lastEntry = rawRow[rawRow.length-1];// this contains MemberNo/branchNo
    String [] properLastEntry = lastEntry.split("/");//this contains MemberNo,BranchNo
    //memory that contains rawRow nd properLastEntry in a single array
    String [] oneRow = new String[rawRow.length+1];
    System.arraycopy(rawRow, 0, oneRow, 0,rawRow.length-1);
    System.arraycopy(properLastEntry, 0, oneRow, oneRow.length - properLastEntry.length,properLastEntry.length);
    System.out.println(Arrays.toString(oneRow));

    rs2.add(oneRow);    
}

2 个答案:

答案 0 :(得分:0)

为什么它不会来自java.sql.Date对象中的数据库?

好吧,如果您将其作为字符串阅读,请执行以下操作:

String convert(String dateIn) {
    String year = dateIn.subString(0,4);
    String month = dateIn.subString(5,7);
    String day = dateIn.subString(8);
    return year + month + day;
}

当然,从数据库中读取日期作为字符串仍然是一个非常糟糕的主意,因为不保证每个服务器上的格式都相同。可以是测试服务器上的一个,也可以是生产中的另一个。

答案 1 :(得分:-1)

/**
 * 
 * @author CHIRAG
 *
 */
public class DateConverter {
    public static void main(String... args) {
        String date = "2018/01/25";
        System.out.println(date + " converted to -> " + convertDate(date));
    }

    public static String convertDate(String date) {
        return date.replaceAll("/|-", ""); // it will remove all occurrences of '/' or '-'
    }
}

此代码片段的输出为:

2018/01/25 converted to -> 20180125

只有您必须将date string传递给方法convertDate(String date)

快乐编码:)