你應該對輸入和輸出指定時區。您可以使用「Z」採用格式方法之前實例化的SimpleDateFormat和setTimeZone:
package stackoverflow;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Programa {
public static void main(String[] args) throws ParseException {
String date = "2016-09-27 20:01:15 GMT";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
long epoch = df.parse(date).getTime();
System.out.println(epoch);
Date d = new Date(epoch);
df.setTimeZone(TimeZone.getTimeZone("GMT"));
String out = df.format(d);
System.out.println(out);
}
}
有關可用時區,嘗試TimeZone.getAvailableIDs()
因爲它使用了EDT輸入,但使用GMT輸出。 –
切勿在沒有明確時區的情況下進行時間戳轉換。 –
這是一場親密的比賽。 – Maroun