Java 如何从字符串变量中获取小时和分钟?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/21828200/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 10:56:25  来源:igfitidea点击:

How to get hours and minutes from a String variable ?

javastringtime

提问by user2219097

I have a String timme = "13:10". I was wondering how would I best go about getting the hours and minutes and converting them into integers. i.e. int hours = 13 , int minute = 10. I know a for-loop wouldn't be the most efficient way, is there anything simpler?

我有一个String timme = "13:10". 我想知道如何最好地获取小时和分钟并将它们转换为整数。即 int hours = 13 , int minute = 10. 我知道 for 循环不是最有效的方法,有没有更简单的方法?

采纳答案by user3317558

Try this way, by split()method,

试试这种方式,通过split()方法,

String timme = "13:10";
String[] time = timme.split ( ":" );
int hour = Integer.parseInt ( time[0].trim() );
int min = Integer.parseInt ( time[1].trim() );

回答by Hamid Shatu

You can try this...

你可以试试这个...

String time = "13:10";
SimpleDateFormat formatter =  = new SimpleDateFormat("hh:mm");
Date dTime = formatter.parse(time);
int hour = dTime.getHours();
int minute = dTime.getMinutes();

回答by Ilia Kopylov

Better use Dateand DateFormat:

更好地使用DateDateFormat

String time = "13:10";

DateFormat sdf = new SimpleDateFormat("HH:mm"); // or "hh:mm" for 12 hour format
Date date = sdf.parse(time);

date.getHours(); // int
date.getMinutes(); // int

回答by Sivakumar S

You could use Calendarobject of java instead of Dateobject,

您可以使用Calendarjava 的Date对象而不是对象,

SimpleDateFormat dateFormatter = new SimpleDateFormat("HH:mm", Locale.ENGLISH);
        try {
            Calendar c = Calendar.getInstance();
            c.setTime(dateFormatter.parse("07:30"));
            String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY));
            String mintue = String.valueOf(c.get(Calendar.MINUTE));
            System.out.println("Hour: " + hour);
            System.out.println("Minute: " + mintue);
        } catch (ParseException e) {
            e.printStackTrace();
        }

回答by Venkat Ram Reddy Kolla

JAVA 8

爪哇 8

    LocalTime localTime = LocalTime.parse("13:10", DateTimeFormatter.ofPattern("HH:mm"));
    int hour = localTime.getHour();
    int minute = localTime.getMinute();
    System.out.println("Hours : "+hour +" Minutes : "+minute);