int year = Integer.parseInt(sTransDateTime2.substring(0, 4));
int month = (Integer.parseInt(sTransDateTime2.substring(4, 6)) - 1);
int day = Integer.parseInt(sTransDateTime2.substring(6, 8));
int hour = Integer.parseInt(sTransDateTime2.substring(8, 10));
int minute = Integer.parseInt(sTransDateTime2.substring(10, 12));
int second = Integer.parseInt(sTransDateTime2.substring(12));
System.out.println("year=" + year + "| month= " + month + "| day=" + day);
DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
Calendar calConvert = Calendar.getInstance();
calConvert.set(year, month, day, hour, minute, second);
sTransDateTime2 = Long.toString(calConvert.getTimeInMillis()/1000);
System.out.println("debug date: " + sTransDateTime2);
私の日付時刻は年= 2017です。月= 7 |日= 28 |時間= 17 |分= 0、 ミリ秒に変換すると15になります。 日付の結果は正しいですが、2017年7月28日ですが、時間は午後9時になります。 私のコーディングに間違いがありますか?古い壊れたjava.dateを学習日付+時間はミリ秒に変換できません
おかげ
あなたは日付を解析するためのJavaライブラリを使用して検討しています?例えばSimpleDateParser? – nafas
あなたのコードで1つのエラーがあります:フォーマット文字列が間違っています。 'mm/dd/yyyy'の代わりに' MM/dd/yyyy'にする必要があります。 「mm」は、月数ではなく、**分**を意味することに注意してください。月には 'MM'を使います。 (実際には、なぜこのSimpleDateFormatオブジェクトを持っていますか?それはあなたのコードでも使われていません)。 – Jesper
おそらく、1つの変換でローカルTimeZone設定を使用していて、他の変換では使用していない可能性があります。 –