亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS NSDate中關于夏令時的坑

2019-10-21 18:39:54
字體:
來源:轉載
供稿:網友

前言

最近線上推廣項目的時候,運營反饋了幾個bug,其中一個就是字符串轉NSDate對象出現nil的情況。

舉個例子:

NSString *timeStr = @"1992-04-05";NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd"];NSDate * date1 = [formatter dateFromString:timeStr];NSLog(@"timeStr to date is %@ %@", timeStr, date1);

這里的timeStr就是用戶的生日,平時測試的時候,這塊代碼都是ok的。那么如果我們把生日換成1986-05-04,此時的date就會轉化失敗,為null。

經查找資料,發現這個情況是由于夏令時引起的。

夏時令(Daylight Saving Time:DST),又稱“日光節約時制”和“夏令時間”,是一種為節約能源而人為規定地方時間的制度,在這一制度實行期間所采用的統一時間稱為“夏令時間”。一般在天亮早的夏季人為將時間調快一小時,可以使人早起早睡,減少照明量,以充分利用光照資源,從而節約照明用電。各個采納夏時制的國家具體規定不同。目前全世界有近110個國家每年要實行夏令時。

1986年4月,中國中央有關部門發出“在全國范圍內實行夏時制的通知”,具體作法是:每年從四月中旬第一個星期日的凌晨2時整(北京時間),將時鐘撥快一小時,即將表針由2時撥至3時,夏令時開始;到九月中旬第一個星期日的凌晨2時整(北京夏令時),再將時鐘撥回一小時,即將表針由2時撥至1時,夏令時結束。從1986年到1991年的六個年度,除1986年因是實行夏時制的第一年,從5月4日開始到9月14日結束外,其它年份均按規定的時段施行。在夏令時開始和結束前幾天,新聞媒體均刊登有關部門的通告。1992年起,夏令時暫停實行。

  • 1986年4月13日至9月14日
  • 1987年4月12日至9月13日
  • 1988年4月10日至9月11日
  • 1989年4月16日至9月17日
  • 1990年4月15日至9月16日
  • 1991年4月14日至9月15日

以上時間段都屬于夏令時,但是經過多次測試,這其中有的日子是可以轉化為NSDate的,目前只發現了6個日期會有問題。1991-04-14, 1986-05-04, 1987-04-12, 1989-04-16, 1990-04-15,1988-04-10(ps:沒有做覆蓋測試,可能還有更多)

解決方案:

一、使用GMT零時區

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];// 零時區[formatter setDateFormat:@"yyyy-MM-dd"];

二、設置lenient屬性

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];formatter.lenient = YES; // 這個屬性沒有官方的解釋,個人理解為:如果當前時間不存在的話,會默認獲取距離最近的整點時間[formatter setDateFormat:@"yyyy-MM-dd"];

iOS 時間字符串&NSDate&時間戳 相互轉換

前段時間一直在和時間打交道,這幾天整理了一下幾個時間相互轉換的方法,再次做記錄

效果圖

iOS,NSDate,夏令時

iOS,NSDate,夏令時

時間戳轉字符串

+(NSString *)timeStampConversionNSString:(NSString *)timeStamp{NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStamp longLongValue]/1000];NSDateFormatter *formatter = [[NSDateFormatter alloc]init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSString *dateStr = [formatter stringFromDate:date];return dateStr;}

時間轉時間戳

+(NSString *)dateConversionTimeStamp:(NSDate *)date{NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]*1000];return timeSp;}

字符串轉時間

+(NSDate *)nsstringConversionNSDate:(NSString *)dateStr{NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];NSDate *datestr = [dateFormatter dateFromString:dateStr];return datestr;}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
操人视频在线观看欧美| 亚洲精品久久久久久久久久久久| 精品无人区乱码1区2区3区在线| 久久久久久久97| 亚洲欧美综合区自拍另类| 日韩第一页在线| 国产精品高潮粉嫩av| 国产精品国产自产拍高清av水多| 日韩电影第一页| 国产成人精品免高潮在线观看| 播播国产欧美激情| 国产精品久久一区主播| 国产综合视频在线观看| 久久久国产视频91| 国产精品99免视看9| 欧美一级电影在线| 国产精品一区二区三区毛片淫片| 亚洲精品免费在线视频| 国产精品三级网站| 狠狠色狠狠色综合日日小说| 亚洲男人天堂古典| 在线播放国产一区中文字幕剧情欧美| 这里只有精品在线观看| 久久综合九色九九| 日韩成人中文字幕在线观看| 国产经典一区二区| 欧洲日韩成人av| 国产精品久久久av久久久| 91精品国产综合久久香蕉的用户体验| 久久精品99久久久香蕉| 日韩成人激情视频| 国产日产亚洲精品| 亚洲精品美女视频| 超碰精品一区二区三区乱码| 亚洲国产精品成人av| 57pao成人永久免费视频| 亚洲欧洲成视频免费观看| 91在线国产电影| 国产不卡精品视男人的天堂| 亚洲欧美日韩久久久久久| 欧美激情一级欧美精品| 久久久黄色av| 久久露脸国产精品| 国产精品免费一区| 国产mv久久久| 国产一区二区三区直播精品电影| 欧美日韩色婷婷| 精品久久久久久久中文字幕| 亚洲人成网站777色婷婷| 91国产在线精品| **欧美日韩vr在线| 久久在线精品视频| 亚洲人成亚洲人成在线观看| 成人免费视频a| 亚洲va欧美va国产综合久久| 色综合久综合久久综合久鬼88| 亚洲影视九九影院在线观看| 懂色av中文一区二区三区天美| 亚洲综合小说区| 超碰91人人草人人干| 岛国av一区二区三区| 成人字幕网zmw| 91香蕉亚洲精品| 亚洲欧美制服综合另类| 亚洲一区二区三| 九九热最新视频//这里只有精品| 久久影院资源站| 91免费福利视频| 国产精品视频免费在线| 亚洲网站在线看| 国产精品7m视频| 伊人亚洲福利一区二区三区| 欧美wwwxxxx| 亚洲第一精品夜夜躁人人爽| 操人视频在线观看欧美| 亚洲成av人乱码色午夜| 热久久美女精品天天吊色| 亚洲国产精品成人一区二区| 91亚洲精品一区二区| 日韩中文在线视频| 一区二区三区四区在线观看视频| 91天堂在线观看| 日韩电影中文字幕一区| 亚洲精品动漫久久久久| 亚洲sss综合天堂久久| 久久激情视频久久| 国产精品视频免费在线| 久久久国产一区二区三区| 91高清视频在线免费观看| 欧美美女15p| 欧美日韩在线视频一区| 亚洲欧美激情精品一区二区| 亚洲裸体xxxx| 欧美午夜视频一区二区| 亚洲高清一区二| 4444欧美成人kkkk| 在线观看国产精品日韩av| 欧洲亚洲女同hd| 国产精品嫩草影院一区二区| 91精品视频网站| 色综合久久久久久中文网| 性金发美女69hd大尺寸| 国产精品在线看| 久久天天躁夜夜躁狠狠躁2022| 国产精品视频公开费视频| 久久久久久久国产精品| 亚洲二区中文字幕| 51精品国产黑色丝袜高跟鞋| 国产精品老女人视频| y97精品国产97久久久久久| 欧美日韩国产专区| 8090理伦午夜在线电影| 九九久久国产精品| 久久精品亚洲国产| 色多多国产成人永久免费网站| 欧美成人全部免费| 久久亚洲精品视频| 性色av香蕉一区二区| xvideos亚洲人网站| 亚洲影视中文字幕| 亚洲美女免费精品视频在线观看| 在线播放国产一区二区三区| 国产亚洲精品久久久久久| 最近中文字幕日韩精品| 91精品国产网站| 精品美女国产在线| 亚洲第一区第一页| 国产精品视频白浆免费视频| 日本三级久久久| 5278欧美一区二区三区| 色老头一区二区三区| 国产精品久久久久av免费| 青草青草久热精品视频在线观看| 欧美国产激情18| 久久91亚洲精品中文字幕奶水| 97在线看福利| 亚洲乱码一区av黑人高潮| 欧美限制级电影在线观看| 国产一区二区三区在线| 日韩在线视频国产| 欧美激情一区二区三区高清视频| 成人www视频在线观看| 精品国产一区二区三区久久久| 亚洲国产精品久久91精品| 尤物99国产成人精品视频| 中文字幕不卡在线视频极品| 亚洲а∨天堂久久精品9966| 国产精品日韩欧美综合| 亚洲网址你懂得| 久久精品国产成人| 亚洲国产精品999| 亚洲成人性视频| 最近2019中文字幕mv免费看| 成人国产精品久久久久久亚洲| 久久久久久国产精品三级玉女聊斋| 精品中文字幕在线| 国产午夜精品全部视频在线播放| 91香蕉嫩草神马影院在线观看| 欧美极品少妇xxxxⅹ免费视频| 国产亚洲精品久久久久久777| 国产精品久久久久久久久久小说| 日韩av免费一区| 久久久久久久一区二区三区| 久久成人综合视频|