java日期格式如何转换

如何将Java的日期的不同格式转换成统一格式,比如20150526,2015-5-26,2015/5/26.
因为数据库日期太乱了,有的是20150526有的是2015-5-6,现在需要将他们转为统一格式比如20150526.求大神帮助。

 public static void main(String[] args) {
        String[] arr = new String[]{"2015年1月1日","2015-1-1","2015/1/1","2015/01/1"};
        for(int i=0;i<arr.length;i++){
            String[] arrSplit = arr[i].split("[-|年|/|月|日]");//在这里加分割字符
             arr[i] = "";
            for(int j=0;j<arrSplit.length;j++){
                if(arrSplit[j].length()<2){
                    arrSplit[j] = "0"+arrSplit[j];
                }
                arr[i]=arr[i]+arrSplit[j];
            }
            System.out.println(arr[i]);
        }
    }

没有方法,统一转换,自己考虑各种情况,写个方法就行了,或者用正则,把里面不是数字的都干掉

字符串处理:使用split()函数进行分割,月份或日期为各位数字前补0,最后再拼接即可。

首先分情况判断,然后再套用不同的方式解析。无非也就那么几种。

没有统一的方法,用dateformat,每种情况得区分处理

那只能写个util的工具类,里面加个方法,将日期传进去。在这个方法里面判断格式,再调用不同的转换方法。如果以后日期格式又有新格式,补充util类

试试SimpleDateFormat类,或者jodatime库

java的中可以 String str = new String.format(const char *format, ...);
//而且 java中的String 变量可以用+的方法来拼接

DateFormat YMDALL = new SimpleDateFormat("yyyyMMdd");

sysout(YMDALL.format(new Date()));

方法很多了;简洁点的话可以用正则+JAVA提供的时间format工具

楼主自己写个日期转换的工具类就可以了,想要什么格式用正则表达式来匹配就好了