1
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class DefaultChecks {
public static void main(String[] args) {
SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Calendar presentCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
System.out.println("With Cal.."+dateFormatGmt.format(presentCal.getTime()));
dateFormatGmt.setTimeZone(TimeZone.getTimeZone("GMT"));
String currentDateTimeString = dateFormatGmt.format(new Date());
System.out.println("With format.."+currentDateTimeString);
}
}
OUTPUT:爲什麼將本地時間轉換爲GMT時的差異?
With Cal..2014-11-14T12:50:23.400Z
With format..2014-11-14T07:20:23.400Z
因此,在日曆presentCal = Calendar.getInstance(TimeZone.getTimeZone(「GMT」))中設置時區爲「GMT」;'不會將TimeZone更改爲「GMT」?只有'dateFormatGmt.setTimeZone(TimeZone.getTimeZone(「GMT」));'可以做到這一點? –
@VedPrakash號改變你的本地時區可以做到這一點。日期是時間的表示,表示時間爲自紀元以來的一些毫秒數,它沒有固有的時區(或者說它是GMT)。只有當您將其格式化爲輸出(或解析輸入)纔會影響*顯示的*值。像什麼'System.out.println(0.1 + 0.1 + 0.1);'?計算機並不總是像你天真地期望的那樣行事。 –