日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 夏令时,android 时间处理(夏令时)

發布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 夏令时,android 时间处理(夏令时) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近,在忙一個計步器的項目,模塊出口國外,軟件自然得國際化。軟件上架后老外一用出現了一個重大的Bug:模塊與手機時間不同步,各時區時間塊一小時或慢一小時,還有的快半小時與慢半小時的,也沒有做夏令時處理。

在網上找了許多論壇,始終沒有這方面(夏令時處理的),只能說最笨的方法一個個的列舉,辛苦啊,時區ID差不多有一百個,可以處理完還是經不起老外考驗,bug依然存在;

今天認真地花上了一段時間找規律,終于解決了。分享一下!!!!!!!!!!!!!!!!!!!!!!

try {

SimpleDateFormat dateFormat = new SimpleDateFormat(

"yyyy-MM-dd HH:mm:ss");

Date date = dateFormat.parse("2000-01-01 00:00:00");

Date curDate= new Date();

Calendar baseCalendar = Calendar.getInstance();

baseCalendar.setTime(date);

int baseDstOffest= baseCalendar.get(Calendar.DST_OFFSET);

Calendar curCalendar = Calendar.getInstance();

curCalendar.setTime(dateFormat.parse(dateFormat.format(curDate)));

int curDstOffest= curCalendar.get(Calendar.DST_OFFSET);

//baseCalendar.getTimeInMillis()-baseDstOffest 因為起始時間如俄羅斯2000-01-01 00:00:00,我們把這個時間定為0時,但實際上沒有考慮夏令時實際時間是baseDstOffest ,因此我們要定為0時必須在當時的時間減掉dst偏移量

long curtime = curCalendar.getTimeInMillis()-baseCalendar.getTimeInMillis()-baseDstOffest+curDstOffest; //經過上面的加減最張得到了一個準確的時間 } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }

總結

以上是生活随笔為你收集整理的android 夏令时,android 时间处理(夏令时)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。