2 qq 27422325 qq_27422325 于 2015.05.26 17:26 提问

java日期格式如何转换

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

11个回答

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

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

qq_27422325
qq_27422325 能给个方法吗
接近 3 年之前 回复
hl312
hl312   2015.05.26 17:30

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

caozhy
caozhy   Ds   Rxr 2015.05.26 17:31

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

qq_27422325
qq_27422325 能给个方法吗?
接近 3 年之前 回复
edouardzyc
edouardzyc   2015.05.26 17:37

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

qq_27422325
qq_27422325 你之前遇到过这样的问题吗,怎么解决的啊
接近 3 年之前 回复
diaoliwei2
diaoliwei2   Rxr 2015.05.26 17:38

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

qq_27422325
qq_27422325 有可以参考的util类吗
接近 3 年之前 回复
LSL1618
LSL1618   2015.05.26 17:42

试试SimpleDateFormat类,或者jodatime库

q3733353520
q3733353520   2015.05.26 18:43

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

weikzhao0521
weikzhao0521   2015.05.27 10:28

DateFormat YMDALL = new SimpleDateFormat("yyyyMMdd");

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

tianyazaiheruan
tianyazaiheruan   2015.05.27 10:50

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

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!