java日期格式如何转换

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

11个回答

 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]);
        }
    }
qq_27422325
qq_27422325 你完美的解决了我的问题,太感谢啦
5 年多之前 回复
danielinbiti
danielinbiti 回复qq_27422325: arr[i].split("[-|年|/|月|日|.]")加上点,|线是或的意思
5 年多之前 回复
qq_27422325
qq_27422325 太感谢啦,但是我还有点不懂就是split("[-|年|/|月|日]")是如何使用的如果要把2015.05.25转换成20150525该如何添加呢
5 年多之前 回复
tongyi55555
JonsonJiao 这样就可以了啊,不需要使用转换函数了。
5 年多之前 回复

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

qq_27422325
qq_27422325 能给个方法吗
5 年多之前 回复

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

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

qq_27422325
qq_27422325 能给个方法吗?
5 年多之前 回复

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

qq_27422325
qq_27422325 你之前遇到过这样的问题吗,怎么解决的啊
5 年多之前 回复

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

qq_27422325
qq_27422325 有可以参考的util类吗
5 年多之前 回复

试试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工具

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问