iPhone勿擾模式問題 iPhone的勿擾模式出現問題並不是個別情況,而是勿擾模式本身出現了系統錯誤。錯誤出現的原因在於iOS系統時間的算法並沒有考慮到跨年對應的問題導致時間對應錯亂。這也是為什麼官網說勿擾模式會再1月7日自動回復正常。
國外TUAW網站首先刊出類似推測,但其中有嚴重ISO時間概念錯誤已經被指出;本文是在其基礎上進行的重新整理和推測。
ISO標准(制造業常使用該標准,也稱作商業歷)是這樣按照周數來顯示計算每年的日期的:YYYY-Www-D
舉例說明:2012年第50周的星期二按照ISO標准以描述為:2012-W50-2
公歷日期(Gregorian calendar)則是按照這樣的方式來顯示計算日期的:YYYY-MM-DD
舉例說明:2012年12月11日公歷日期的描述:2012-12-11
其實iOS日期的2012-W50-2 剛好對應 公歷的2012-12-11
而是ISO標准下,如何判定新年另有規定:自動判定新年包含第一個周四的那周為第一周,也就是說:
2012年12月30日:2012-W52-7
2012年12月31日:2013-W01-1
2013年1月1日:2013-W01-2
2013年1月2日:2013-W01-3
2013年1月3日:2013-W01-4(周四)
2013年1月4日:2013-W01-5
2013年1月5日:2013-W01-6
2013年1月6日:2013-W01-7
2013年1月7日:2013-W02-1
這裡就是蘋果iOS 6“勿擾模式”出現bug最可能存在的問題,蘋果設定這個功能的時候,很可能使用了ISO時間制式采用周循環,但是卻沒考慮到跨年變動的問題,設定的時候,誤將2013年的第一個周循環設定為從1月7日開始,而2013新年前六天(可能)被判定為2012年的第53周(ISO制式的確在某些年份會出現第 53周),但事實上根本就不存在這些時間,所以勿擾模式並沒有自動關閉。