java 判断是否夏令时_Java日期夏令时的问题
在開發(fā)中遇到92年之前新加坡夏令時的問題,亞洲每個國家在不同年份都實行過夏令時,而且每個國家的夏令時實行年份應該被寫到jdk里了。
可以看如下示例:
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Singapore"));
String dateStr = "1993-06-06 22:50:35";
Date date = sdf.parse(dateStr);
System.out.println("date ===="+ date);
String dateStr92 = "1991-09-14 22:00:00";
Date date92 = sdf.parse(dateStr92);
System.out.println("date92==="+date92);
}
輸出結果:
date ====Sun Jun 06 22:50:35 CST 1993
date92===Sat Sep 14 23:00:00 CDT 1991
可以看出第二個日期輸出的結果比預期要快一個小時。
解決方式:
時間類型采用把時間戳 自動轉換成 字符串類型來進行傳輸,?然后接收方用如下方式進行轉換:
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date date;
總結
以上是生活随笔為你收集整理的java 判断是否夏令时_Java日期夏令时的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《向上生长》读书笔记
- 下一篇: 改进版臭事百科爬虫