毎週日曜日の深夜にレポートを実行しようとしています。このレポートには、前の土曜日の深夜から、レポートが開始される直前の11:59:59までのデータが含まれます。したがって、来週の日曜日(2/17)にキックオフされるとすると、次のようになります。
- 2013年2月17日の深夜(または月曜日の朝、ただし、考えてみてください)に実行します。
- 2013年2月10日午前0時00分00秒(先週の土曜日の深夜)に開始するデータを含める
- 2013年2月16日午後11時59分59秒までのデータを含める(今週の土曜日の夜、レポート発行のちょうど1秒前)
startDateTime
とを取得して時間範囲をカプセル化しようとしてendDateTime
いますが、JODAを使用しLocalDateTime
て各値を保持したいと考えています。次に、それらをYYYYMMDD_HHmmss形式の文字列にフォーマットする必要があります。
これが私の最善の試みです:
LocalDateTime rightNow = new LocalDateTime();
LocalDateTime startDateTime = rightNow.minusDays(7);
LocalDateTime endDateTime = rightNow.minusDays(1);
String startDateTimeFormatted = startDateTime.toString();
String endDateTimeFormatted = endDateTime.toString();
System.out.println(startDateTimeFormatted);
System.out.println(endDateTimeFormatted);
これを実行すると、次のようになります。
2013-02-06T12:10:27.411
2013-02-12T12:10:27.411
注:今日(2013年2月13日)このコードを実行しているため、開始日と終了日は異なり、日曜日2/17(または他の日曜日)になりますが、時間表現と文字列の書式設定Iここに本当に興味があります。
だから私は尋ねます:
- 表現する方法
startDateTime
(この例では、動的であるために答えが必要です!)2013年2月10日12:00:00 AM - 表現する方法
endDateTime
(この例では、動的であるために答えが必要です!)2013年2月16日午後11時59分59秒 - 両方をフォーマットし、それぞれ20130210_120000および20130216_115959として表示するにはどうすれば
startDateTime
よいendDateTime
ですか?
前もって感謝します。