wake-up-neo.net

Konvertieren Sie den Java-String in Time, NOT Date

Ich möchte eine Variablenzeichenfolge in eine Zeitvariable konvertieren, nicht mit Java als Datum. die Saite sieht so aus 17.40 Uhr

Ich habe versucht, den folgenden Code zu verwenden, aber diese Instanz ist eine Datumstypvariable und keine Zeit

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 beschwert sich jedoch, dass ich eine Ausnahme wie folgt einfügen sollte.

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);

Jede Idee, wie ich die Zeit aus dem String herausholen kann.

21
Ossama
Java.sql.Time timeValue = new Java.sql.Time(formatter.parse(fajr_prayertime).getTime());
28
ash

Sie könnten Joda Time oder Java 8 betrachten, das speziell für eine Tageszeit ohne Datumskomponente einen Typ namens LocalTime hat.

Beispielcode in Joda-Time 2.7/Java 8.

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

Vielleicht möchten Sie sich dieses Beispiel ansehen:

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
Michael Ardan
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());
}
5
Paris1008
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:MM");
simpleDateFormat.format(fajr_prayertime);
2
Khusboo

Sie können den folgenden Code verwenden, um den String-Wert in das Zeitäquivalent zu ändern:

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

Hoffe das hilft dir.

2
shivam

String to Time (mit beliebiger Zeit):

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

String to Time (mit currentTime):

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

Zeit zum String:

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

versuchen...

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

Joda-Time & Java.time

Sowohl Joda-Time als auch Java.time (neu in Java 8) bieten eine LocalTime-Klasse zur Darstellung einer Tageszeit ohne Datum oder Zeitzone.

Beispielcode in Joda-Time 2.3.

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