【发布时间】:2016-09-17 17:32:45
【问题描述】:
我有一个包含日期的ArrayList。所有日期均采用以下格式:
“日月时区年”。示例如下所示,Wed Aug 10:15:17 AST 2016。
我需要在第二个“:”处拆分字符串。这是我的代码。
int dateSize = date.size();
int i = 0;
ArrayList<String> splitDate = new ArrayList<String>();
splitDate.clear();
while(i < dateSize) {
String[] splitString = date.get(i).split(":" + 1);
splitDate.add(splitString[0]);
Log.i("info", String.valueOf(splitDate));
i++;
}
ArrayList 包含大约 50 个项目。起初,这段代码有效。它将这个打印到日志中,
9 月 14 日星期三 23:30,这就是我想要的。
然后,它随机开始打印这个,
2016 年 9 月 14 日星期三 23:30、9 月 14 日星期三 23:24:36 AST 2016、9 月 14 日星期三 23 日、9 月星期三 14 月 22 日,周三 9 月 14 日 22 日,周二 9 月 13 日 22 日,周二 9 月 13 日 22 日,周二 9 月 13 日 22:07:33 AST 2016,20 年 9 月 12 日星期一
有时它会拆分第二个“:”,有时它会拆分第一个“:”,有时它不会拆分任何内容。我无法弄清楚为什么会这样。如果我将代码更改为此,
String[] splitString = date.get(i).split(":");
splitDate.add(splitString[0]);
它完美无缺。一切都像这样打印到日志中,8 月 10 日星期三,没有例外。
我的方法正确吗?
【问题讨论】:
-
因为你用这个来分割
":" + 1。 -
你应该改用日期和 simpleDateFormatter,这会让你的生活更轻松......
-
@ΦXocę웃Пepeúpaツ 但是分裂会更快恕我直言。 :)