En ymd
de lubridate, la valeur par défaut de tz
était UTC
. Je ne sais pas exactement quand le changement a été fait mais je sais que dans 1.5 la valeur par défaut était UTC mais dans 1.5.8 la valeur par défaut est maintenant NULL
.Comment faire face au changement de défaut de lubridate's ymd
Cela change la sortie de ymd
de POSIXct
objets à Date
objets qui casse beaucoup de mon code où je compte sur un objet ayant POSIXct
mais maintenant un Date
. Existe-t-il un moyen pratique de rendre cette compatibilité rétrocompatible ou ai-je besoin d'ajouter le tz='UTC'
à tout mon ancien code qui comptait sur cela?
ouais je pensais à faire un wrapper comme 'ymd2 <-fonction (x) AMJ (x, tz = 'UTC') 'mais j'espère quelque chose qui n'implique pas cela dans chaque morceau de code qui utilise' ymd'. –
Eh bien, vous pourriez nommer le wrapper 'ymd' et ensuite appeler' lubridate :: ymd' avec l'argument 'tz' à l'intérieur pour éviter les conflits de noms ... Vous n'aurez donc pas à remplacer tous vos appels' ymd' dans le code existant , chargez simplement la fonction. Sinon, vous pourriez être bloqué en utilisant une ancienne version de 'lubridate'. Le paquet 'packrat' pourrait être utile dans ce cas. – mikeck
Vous pouvez également envoyer une demande de fonctionnalité pour obtenir une option tz par défaut dans 'options': https://github.com/tidyverse/lubridate/issues. Je doute que vous soyez le seul à avoir ce problème de compatibilité de version. – mikeck