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庫,用於解析日期?例如SimpleDateParser? – nafas
你代碼中的一個錯誤:格式字符串錯誤,應該是「MM/dd/yyyy」而不是「mm/dd/yyyy」。請注意,「mm」表示**分鐘**,而不是幾個月。使用'MM'數月。 (其實 - 爲什麼你有這個'SimpleDateFormat'對象呢?它甚至不用在你的代碼中)。 – Jesper
也許你在一次轉換中使用本地TimeZone設置,但不在另一次轉換中。 –