0

我正在解析 YouTube JSON-C GDATA 提要,因为它是 JSON,所以它不能包含冒号 (:),所以当我解析字符串持续时间时,它以纯文本形式出现,即 823 或 2421。我如何将其格式化为更具可读性?即 823 --> 8:23 或 2421 --> 24.21 或 23 --> 0:23?

4

3 回答 3

1

我想严格回答你的问题,答案是:

//Check the length of the string and maybe add zero at the beginning
string = StringBuffer(string).insert(2, ":").toString();

注意:我应该使用 string.getLength()-2,但我希望你明白了 ;-)

但是,就个人而言,我会以秒或其他格式发送时间。

String dateStr = "03/08/2010"; 

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date dateObj = curFormater.parse(dateStr); 
SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy"); 

String newDateStr = postFormater.format(dateObj); 
于 2012-09-04T21:09:58.903 回答
1

这段代码应该这样做:

String time = "322";
int length = time.length();
StringBuffer s = new StringBuffer(time);

switch(length) {
    case(1):    s.insert(0, "0:0"); break; //ex: 2 -> 0:02
    case(2):    s.insert(0, "0:"); break; //ex: 22 -> 0.22
    case(3):    s.insert(1, ":"); break;  //ex: 322 -> 3:22
    case(4):    s.insert(2, ":"); break; //ex: 2421 -> 24:21
}

case(5)如果您希望以小时为单位,您可以继续添加。

祝你好运!

于 2012-09-05T00:51:36.330 回答
0

http://www.exampledepot.com/egs/java.text/parsedate.html

那应该有帮助;)

于 2012-09-04T21:04:54.897 回答