7

必要な日付オブジェクトがありますgetTime()。問題は、それが常に表示されること00:00:00です。

SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
long date = Utils.getDateObject(DateObject).getTime();
String time = localDateFormat.format(date);

なぜか時間はいつも'00:00:00'。追記するべきかTime to my Date Object

4

3 に答える 3

20

実際のDateオブジェクトをformatではなくに渡す必要がありlongます。

SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
String time = localDateFormat.format(Utils.getDateObject(DateObject));

Utils.getDateObject(DateObject)が実際に a を返すと仮定するとDate(これは質問によって暗示されていますが、実際には述べられていません)、それはうまくいくはずです。

たとえば、これは完全に機能します。

import java.util.Date;
import java.text.SimpleDateFormat;

public class SDF {
    public static final void main(String[] args) {
        SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
        String time = localDateFormat.format(new Date());
        System.out.println(time);
    }
}

以下のコメントを再確認してください。

TJ に感謝しますが、実際にはまだ 00:00:00 になっています。

これは、次のDateように、オブジェクトの時間、分、秒がゼロであることを意味します。

import java.util.Date;
import java.text.SimpleDateFormat;

public class SDF {
    public static final void main(String[] args) {
        SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
        String time = localDateFormat.format(new Date(2013, 4, 17)); // <== Only changed line (and using a deprecated API)
        System.out.println(time);
    }
}
于 2013-05-16T16:14:37.973 に答える
3

たとえば、次のコードを使用できます。

 public static int getNotesIndexByTime(Date aDate){
    int ret = 0;
    SimpleDateFormat localDateFormat = new SimpleDateFormat("HH");
    String sTime = localDateFormat.format(aDate);
    int iTime = Integer.parseInt(sTime);
    return iTime;// count of hours 0-23
 }
于 2015-12-13T19:13:44.547 に答える