Android格式字符串分为秒和秒

时间:2012-09-04 21:00:44

标签: android json string gdata

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

3 个答案:

答案 0 :(得分: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); 

答案 1 :(得分: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)

祝你好运!

答案 2 :(得分:0)