Подтвердить что ты не робот

Преобразование строки Java в Time, NOT Date

Я хотел бы преобразовать переменную строку в переменную типа Time, а не Date, используя Java. строка выглядит так: 17:40

Я попытался использовать приведенный ниже код, но этот экземпляр является переменной типа даты не время

String fajr_prayertime  =       prayerTimes.get(0);
DateFormat formatter = new SimpleDateFormat("HH:mm");
fajr_begins = (Date)formatter.parse(fajr_prayertime);
System.out.println(" fajr time " + fajr_begins);

Однако Netbean жалуется, что я должен вставить исключение, как показано ниже:

DateFormat formatter = new SimpleDateFormat("HH:mm");
try {
fajr_begins = (Date)formatter.parse(fajr_prayertime);
} catch (ParseException ex) {
Logger.getLogger(JavaFXApplication4.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(" fajr time " + fajr_begins);

Любая идея, как я могу получить время из строки выше.

4b9b3361

Ответ 1

java.sql.Time timeValue = new java.sql.Time(formatter.parse(fajr_prayertime).getTime());

Ответ 2

Вы можете рассмотреть Joda Time или Java 8, который имеет тип LocalTime специально для времени суток без компонента даты.

Пример кода в Joda-Time 2.7/Java 8.

LocalTime t = LocalTime.parse( "17:40" ) ;

Ответ 3

try {

    SimpleDateFormat format = new SimpleDateFormat("hh:mm a"); //if 24 hour format
    // or
    SimpleDateFormat format = new SimpleDateFormat("HH:mm"); // 12 hour format

    java.util.Date d1 =(java.util.Date)format.parse(your_Time);

    java.sql.Time ppstime = new java.sql.Time(d1.getTime());

} catch(Exception e) {

    Log.e("Exception is ", e.toString());
}

Ответ 4

Вы можете взглянуть на этот пример:

public static void main(String[] args) {

    String myTime = "10:30:54";
    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
    Date date = null;
    try {
        date = sdf.parse(myTime);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    String formattedTime = sdf.format(date);

    System.out.println(formattedTime);

}

Ответ 5

Вы можете использовать следующий код для изменения значения String в эквиваленте времени:

 String str = "08:03:10 pm";
 DateFormat formatter = new SimpleDateFormat("hh:mm:ss a");
 Date date = (Date)formatter.parse(str);

Надеюсь, это поможет вам.

Ответ 6

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:MM");
simpleDateFormat.format(fajr_prayertime);

Ответ 7

попробовать...

 java.sql.Time.valueOf("10:30:54");

Ответ 8

String to Time (с использованием произвольного времени):

String myTime = "10:00:00"; 
Time startingTime = new Time (myTime);

Строка времени (с использованием currentTime):

String currentTime = getCurrentTime(); 
Time startingTime = new Time (currentTime);

Время до строки:

private String getCurrentTime() {    
    SimpleDateFormat dateFormat = new SimpleDateFormat("kkmmss");
    String currentTime = dateFormat.format(System.currentTimeMillis());
    return currentTime;
}

Ответ 9

Joda-Time и java.time

Оба Joda-Time и java.time ( новый в Java 8) предлагает класс LocalTime для представления времени суток без какой-либо даты или часового пояса.

Пример кода в Joda-Time 2.3.

LocalTime localTime = new LocalTime( "14:40" );
LocalTime deadline = new LocalTime( "15:30" );
boolean meetsDeadline = localTime.isBefore( deadline );