字符串数组转换不起作用

时间:2014-07-21 09:55:35

标签: arrays string

我已编写此子目录,以20140101格式转换日期为01/01/2014。从变量inDate我决定将其加载到数组arrDate中。数组的每个元素都是正确的。当我尝试将数组放回字符串(outDate)时,我得到以下结果。

indate = 20140101 outDate = 97/01/2016 indate = 20140202 outDate = 98/02 / 2014

谁能说出原因?

谢谢,

劳伦斯

private  String convDate (String inDate)    {

    String outDate = "XXXXXXXXXX";


    char[] arrDate  = inDate.toCharArray();
    switch (MainActivity.localloc){
    case "E":
        System.out.println("posO "+arrDate[0]);
        System.out.println("pos1 "+arrDate[1]);
        System.out.println("pos2 "+arrDate[2]);
        System.out.println("pos3 "+arrDate[3]);
        System.out.println("pos4 "+arrDate[4]);
        System.out.println("pos5 "+arrDate[5]);
        System.out.println("pos6 "+arrDate[6]);
        System.out.println("pos7 "+arrDate[7]);

        outDate=arrDate[6]+arrDate[7]+"/"+ arrDate[4]+arrDate[5]+"/"+arrDate[0]+arrDate[1]+arrDate[2]+arrDate[3];

    }

return outDate;
}

2 个答案:

答案 0 :(得分:0)

private void Button2_Click(System.Object sender, System.EventArgs e)
{
    string str = null;
    string s = "20140101";
    str = s.Substring(6, 2) + "/" + s.Substring(4, 2) + "/" + s.Substring(0, 4);
    Interaction.MsgBox(str);
}

答案 1 :(得分:0)

感谢您的回复。解决问题的更好方法。我不知道Substring和substring之间的区别是什么,但我能用它来处理子字符串的唯一方法是:

str=s.substring(6,8)+"/"+s.substring(4,6)+"/"+s.substring(0,4); 

看起来substring想要第一个和最后一个角色位置。

劳伦斯