2016-09-28 12 views
-1

で現在の時刻を取得します。現在の時刻を想定しだから私は時間範囲の例を持って与えられた時間帯

2016-09-26T12:00:00.000+08:00/2016-09-27T11:59:00.000+08:00 

2016-09-29T06:00:00.000+08:00

あるので、私が欲しいのは、SAIDの日付のどちらを取得することです時間範囲(2016-09-26または2016-09-27)06:00 AMは落ちます...

私はjodaのIntervalクラスを使ってみましたが、動作させる方法を理解できません。任意の提案は高く評価されます。

サンプル期待される出力:

  • 6:00 AM => 2016年9月27日
  • 06:00午後=> 2016年9月26日
  • 3:00 AM => 2016年9月27日
  • 3:00 PM => 2016年9月26日
+0

simpleedataformateを使用してください! –

+0

簡易データフォームとは何ですか?それを聞いたことはありません。あなたはSimpleDateFormatを参照していますか? – SquareBox

+0

ジョーダタイムで何を試しましたか?あなたはどんな問題に遭遇しましたか? –

答えて

0
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yy HH:mm:ss"); 

    String strEndDate = "2016-09-27T11:59:00.000+0800"; 
    SimpleDateFormat fmt = new SimpleDateFormat(
      "yyyy-MM-dd'T'HH:MM:ss.SSSZ"); 

    Date endDate = null; 

    try { 
     endDate = fmt.parse(strEndDate); 
    } catch (Exception e) { 
     // TODO: handle exception 
    } 

    Date currDate = new Date(); // you can set your date and time here 

    while(currDate.after(endDate)){ 
     currDate.setTime(currDate.getTime()-(24*60*60*1000)); 
    } 

    String result = fmt.format(currDate); 
0

私は私のために働く方法を見つけたと思います

DateTime beginTime = getStartTime(); 
DateTime withTimeNow = beginTime.withTime(LocalTime.now()) 

LocalDate result = withTimeNow.isBefore(beginTime)? beginTime.toLocalDate().plusDays(1) : beginTime.toLocalDate(); 

効率的かどうかはわかりませんが、必要なことはありません。

関連する問題