Le problème avec le système Ne pas déranger pourrait être lié à la façon dont le système a été conçu

  Vous le savez tous le système Ne pas déranger dans iOS n'a pas fonctionné pour de nombreux utilisateurs le premier jour de cette année, et hier je te l'ai dit nous ne pourrons l'utiliser à nouveau qu'à partir du 7 janvier. Apple n'a pas expliqué pourquoi le système ne fonctionnait plus correctement, il nous a seulement indiqué quand tout reviendrait à la normale, mais ceux de Macworld avoir une explication possible. Ils affirment que la manière dont le code source du système a été pensé génère un problème de fonctionnement le premier jour d'une année civile, tout cela étant dû à la manière dont la date a été fixée à l'aide du système ISO.

Maintenant, pour les programmeurs qui ont fait beaucoup de travail avec la gestion de la date et de l'heure (comme moi ; j'écris des systèmes de vol pour les compagnies aériennes pour gagner ma vie, qui nécessitent beaucoup de calculs de fuseau horaire lourds) "c'est cassé pendant quelque chose comme la première semaine du année" suggère immédiatement un problème moyennement obscur lié à les données de la semaine ISO. Il s'agit d'une définition légèrement étrange de l'année que vous obtenez de nombreuses bibliothèques de manipulation de données en spécifiant que vous souhaitez que l'année soit "AAAA", par opposition au "aaaa" plus courant.

Ainsi, pour 2012, la période du 1er au 6 janvier apparaîtra comme faisant partie de 2012 si le développeur spécifie "AAAA" dans sa chaîne de date, plutôt que de faire partie de 2013. Cela signifie que lorsque le MDN s'allumera automatiquement, il sera avoir une date d'arrêt calculée dans le courant de 2012, ce qui est maintenant dans le passé, donc il ne s'éteindra jamais. J'ai fait une fois cette erreur dans mon propre code, car il est très facile de taper « AAAA » au lieu de « aaaa » ; il semble qu'un ingénieur Apple anonyme ait fait de même dans la fonction Ne pas déranger d'iOS, mais uniquement dans l'heure d'arrêt automatique, pas dans la partie heure d'activation. Dans mon cas, le problème a été détecté lors de tests automatisés et n’a jamais été mis en ligne. L'ingénieur Apple a eu moins de chance.

  Vous pouvez trouver l'explication complète sur Macworld, si vous êtes sûr de la comprendre et que vous en avez besoin de quelque manière que ce soit.

MISE À JOUR: Macworld prétend que leurs explications sont fausses, alors ignorez-les.