2016-10-04 22 views
0

私がやろうとしていることは基本的には文字列変数があり、その文字列を時間形式に変換しようとしています。その時間を使用してその日のアラートを作成します。Android - 単純な日付形式を使用した文字列

たとえば、

文字列stringTime =「13:05」

と私はアラームが次の13:05に消灯するように設定されますので、日付フォーマットにそれを変換したいです。

SimpleDateFormatを使用すると、日付と時刻として表示され、1970年に戻っています。以下のコードを参照してください。ケース内の文字列時間は13:05が「木1月1日午後01時05分00秒GMT 1970」である

Date[] date_formatted_times_A; 
SimpleDateFormat formatter = new SimpleDateFormat("h:m a"); 

public Date[] DateConverterA (String[] times_A){ 

      date_formatted_times_A = new Date[times_A.length]; 

      for(int i=0;i<times_A.length;i++) 
      { 
       try { 
        date_formatted_times_A[i] = formatter.parse(times_A[i]); 



       } catch (java.text.ParseException e) { 
        e.printStackTrace(); 
       } 
      } 
      return date_formatted_times_A; 

} 

しかし、私はこのことから得る結果、。私はどのように進めるべきかに関して全く失われている。私は時間がほしいことを覚えておいてください。私はそれを使ってアラームを設定するのに使うことができます。時刻はDATE配列に格納されます(またはこれまでよりも適切と思われる配列)。 24時間または12時間は問題ありません!

+0

私はインターネットやこのSOネットワークでは一切検索していないと確信しています。このような質問がたくさんあります。質問する前に、検索してください! –

+0

私は検索しました。しかし、私はそれらを理解していませんでした。したがって、私は特定の答えを得ることができるように尋ねた理由。 – Razoe

答えて

0

あなたのシンプルな日付形式は次のようになります。
SimpleDateFormat formatter = new SimpleDateFormat(hh:mm a");

は、以下のことを試してみて、異なるフォーマットを自分で学ぶ:

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()); 
} 
+1

ありがとうございます。 – Razoe

0

日付部分を破棄し、(へGregorianCalendar経由でのみ時刻フィールドを使用します推奨されない警告を避ける)。

GregorianCalendar timepoint=new GregorianCalendar(); 
timepoint.setTime(date); // date obtained by parsing 
int hours=timepoint.get(Calendar.HOUR_OF_DAY); 
int minutes=timepoint.get(Calendar.MINUTE); 
int seconds=timepoint.get(Calendar.SECOND); 
関連する問題