如何将"String HH:MM"转换为"int hour HH"和"int minute MM"

Jun*_*lli 2 java datetime android

我有这个代码.我需要将string "horaTarefa HH:MM"转换为int "hour = HH"int "minute = MM"

我想我可以用"dateTarefa DD/MM/YYYY"做同样的事吗?

SQLiteDatabase db;
db = openOrCreateDatabase("AgendadorTarefas.db",SQLiteDatabase.CREATE_IF_NECESSARY,null); { }

Cursor c = db.query("Tarefa", new String[] {
              "codTarefa", "dateTarefa", "horaTarefa", "textoTarefa"}, 
            null, null, null, null, null);

c.moveToFirst();

final ArrayList<String> result = new ArrayList<String>();

while(c.moveToNext())
{ 
    String Date = c.getString(1);
    String Hora = c.getString(2);
    String Texto = c.getString(3);
    result.add(Data + " às " + Hora + " \n" + Texto);
}

hour = Calendar.HOUR;
minute = Calendar.MINUTE;

c.close();    
Run Code Online (Sandbox Code Playgroud)

Thr*_*bad 6

最好使用dateformatter而不是仅解析整数.通过这种方式,您可以更好地控制时间和日期的样子(一位数写为055?是时间12小时还是24小时格式?...)

解析时间的简单代码可能如下所示:

try
{
    SimpleDateFormat format = new SimpleDateFormat("H:m");
    Date date = format.parse("15:34");
    int hours = date.getHours(); 
    int min   = date.getMinutes();
}
catch (ParseException e)
{
    // parsing failed
}
Run Code Online (Sandbox Code Playgroud)

有关格式参数的参考,请参阅SimpleDateFormat文档

如果你真的想让你的应用程序变得国际化,那么你也应该考虑使用Calendar而不仅仅是Date,就像我在示例中所做的那样.