1

以下のコードスニペットを使用して.datファイルから日付/時刻のリストを印刷しようとしていますが、常に同じ出力があり、理由がわかりません。

SimpleDateFormat TimeStampFormat = new SimpleDateFormat("yyyy:dd:hh:mm:ss:");
long measurement = 0;       


for (i=0; i<MeasurementLength; i++ ){
    databyte = ReadFilterInputPort();
    measurement = measurement | (databyte & 0xFF);  
   if (i != MeasurementLength-1)    
        measurement = measurement << 8;             
} // for

TimeStampA.setTimeInMillis(measurementA);   
System.out.println(measurementA);
System.out.printf("%-22s\n",TimeStampFormat.format(TimeStampA.getTime()));

たとえば、数行の出力は次のとおりです。

(入力)1300828035071

(出力)2011:22:05:07:15

(入力)1300828035073

(出力)2011:22:05:07:15

私は何か間違ったことをしていますか、それともこれは与えられた入力の正しい出力ですか?

4

1 に答える 1

3

以下のコードを試してください

   try {
            long measureA = System.currentTimeMillis();// You can assign your exact date which is in long format

            Date date = new Date(measureA); 

            SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy hh:mm:ss zzz"); 

            System.out.println(sdf.format(date)); 

            sdf = new SimpleDateFormat("E MMM dd yyyy"); 

            System.out.println(sdf.format(date));

        }catch(Exception e)
        {
            e.printStackTrace();

        }

必要に応じてフォーマット文字列を変更できます

于 2013-02-19T06:22:32.243 に答える