27

Java を使用して、変数文字列を Date ではなく Time 型の変数に変換したいと考えています。文字列は次のようになります 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);

上記の文字列から時間を取得する方法はありますか。

4

9 に答える 9

18

Joda TimeまたはJava 8を考慮することができます。これにはLocalTime、日付コンポーネントのない時刻に対して特別に呼び出される型があります。

Joda-Time 2.7/Java 8 のコード例。

LocalTime t = LocalTime.parse( "17:40" ) ;
于 2013-09-04T03:14:55.303 に答える
6

次の例をご覧ください。

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

}
于 2013-09-04T02:39:36.827 に答える
4

次のコードを使用して、文字列値を同等の時間に変更できます。

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

これがお役に立てば幸いです。

于 2013-09-04T07:42:46.147 に答える
1
于 2014-06-17T14:18:58.510 に答える
1

試す...

 java.sql.Time.valueOf("10:30:54");
于 2014-06-17T04:53:27.497 に答える
-1

文字列から時間へ (任意の時間を使用):

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;
}
于 2015-04-13T18:35:26.333 に答える