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]
返回时间,如我在帖子中所述。如果您看不清楚,我很抱歉:)