Je crée actuellement des objets UTC DateTime en utilisant l'idiome actuel
DateTime now = new DateTime(DateTimeZone.UTC);
Existe-t-il un moyen de définir des valeurs par défaut pour que je puisse créer des objets DateTime basés sur UTC à l'aide du constructeur par défaut, ce qui est plus implicite?
DateTime now = new DateTime();
Si vous souhaitez uniquement définir le fuseau horaire par défaut pour l'heure Joda, utilisez DateTimeZone.setDefault
.
Si vous souhaitez modifier le fuseau horaire utilisé par le jvm entier utilisez TimeZone.setDefault
méthode. Assurez-vous simplement de le définir tôt car il peut être mis en cache par le temps joda .. cité de DateTimeZone.getDefault :
Le fuseau horaire par défaut est dérivé de la propriété système user.timezone. Si cela est nul ou n'est pas un identifiant valide, la valeur par défaut de JDK TimeZone est convertie. Si cela échoue, UTC est utilisé.
Si vous êtes vraiment préoccupé par les caractères supplémentaires, créez simplement une méthode d'assistance:
public static DateTime newUTCDateTime() {
return new DateTime(DateTimeZone.UTC);
}