Android 拆分字符串并转换为int

Android 拆分字符串并转换为int,android,datetime,split,Android,Datetime,Split,我试图使用下面的代码将字符串时间转换为int public static int SplitTime(String time) { try { String[] altSplitTime = time.split(":",2); Log.e("2",altSplitTime[1]); return Integer.valueOf(altSplitTime[0]) * 60 + Integer.valueOf(altSplitTime[1])

我试图使用下面的代码将
字符串
时间转换为
int

public static int SplitTime(String time) {
    try {
        String[] altSplitTime = time.split(":",2);
        Log.e("2",altSplitTime[1]);
        return Integer.valueOf(altSplitTime[0]) * 60 + Integer.valueOf(altSplitTime[1]);
    }
    catch (Exception ex)
    {
        return 0;
    }
}
String
时间保持时间
时间:8:45
使用拆分方法后,我可以得到
8:45

现在我想在第
行中得到
(8*60)+45
,返回Integer.valueOf(altSplitTime[0])*60+Integer.valueOf(altSplitTime[1])。我该怎么做

int a = Integer.parseInt(s3);
int b = Integer.parseInt(s5);
就你而言:

public static int SplitTime(String time) {
try {
    String[] altSplitTime = time.split(":",2);
    Log.e("2",altSplitTime[1]);

    int a = Integer.parseInt(altSplitTime[0]);
    int b = Integer.parseInt(altSplitTime[1]);
    return a * 60 + b;
}
catch (Exception ex)
{
    return 0;
}
}

你为什么不把它完全分开呢<代码>时间分割(“:”,2)将是
time.split(“:”,3)取而代之

这将为您的示例提供数组中的三个值
['Time in','8','45']


然后,您可以解析为int 8和45来进行计算。

因为您有两次出现“:”在“时间”中,您需要将
字符串拆分为三部分:

try {
    String[] altSplitTime = time.split(":",3);
    return Integer.valueOf( (altSplitTime[1]).trim() ) * 60 + Integer.valueOf( (altSplitTime[2]).trim() );
}
catch (Exception ex)
{
    return 0;
}

为了安全起见,我添加了
trim()
以删除空格。

我将使用
SimpleDateFormat
日历

SimpleDateFormat dateFormat = new SimpleDateFormat("H:mm");
Date date = dateFormat.parse("8:45");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

然后您可以使用
Calendar.get()
从字符串中检索
hours
minutes
,并使用
Calendar.set
设置新值,并将日历保留的日期重新格式化为
字符串

,因为您正在发布,所以我假设它当前不起作用。。。现在有什么问题?它返回了错误的东西吗?它什么也不返回吗?有例外吗?你能提供的信息越多,得到帮助的机会就越大。我的代码没有问题。现在我只想拆分
8:45
altSplitTime[0]
返回
时间,如我在帖子中所述。如果您看不清楚,我很抱歉:)