3 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用Java 8及更高版本的java.time包:
ZonedDateTime zonedDateTime = Instant.ofEpochMilli(1566817891743L).atZone(ZoneOffset.UTC);

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
我不明白為什么你要?jiǎng)?chuàng)建一個(gè)新的 DateTime,然后從那里獲取毫秒(如果你一開始就已經(jīng)有毫秒了)。也許我誤解了你的問題。毫秒與時(shí)區(qū)無關(guān)。時(shí)區(qū)用于比較兩個(gè)不同地點(diǎn)的同一時(shí)刻并獲取各自的日期。這是我的解決方案
如果你想要一個(gè)毫秒的時(shí)間戳:
long eventDate = 1566297258721L;
Timestamp time=new Timestamp(eventDate);
System.out.println(time);
結(jié)果將是2019-08-20 10:34:18.721,也是希望的 SQL 格式
如果您想將某個(gè)時(shí)刻從一個(gè)時(shí)區(qū)轉(zhuǎn)換為另一個(gè)時(shí)區(qū):
您將獲得實(shí)際時(shí)區(qū)的時(shí)刻,并將其轉(zhuǎn)換為不同的時(shí)區(qū),以便查看其他國家/地區(qū)的時(shí)間
long eventDate = 1566297258721L;
Calendar calendar = Calendar.getInstance();
calendar.setTime(eventDate);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
dateFormat.format(calendar.getTime());
我希望這些片段有用??鞓肪幊?!

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以嘗試以下操作,
long eventDate = 1566297258721L;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z", Locale.US);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String stringDate = simpleDateFormat.format(new Date(eventDate));
System.out.println(stringDate);
它給了我以下輸出。
2019-08-20 10:34:18 協(xié)調(diào)世界時(shí)
添加回答
舉報(bào)