54 votes

Fuseau horaire par défaut en heure UTC pour DateTime de Jodatime

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 créer des objets DateTime basés sur UTC à l'aide du constructeur par défaut afin qu'il soit plus implicite?

 DateTime now = new DateTime();
 

70voto

dacwe Points 26160

Si vous ne souhaitez définir le fuseau horaire par défaut pour joda time, utilisez DateTimeZone.setDefault.


Si vous souhaitez modifier le fuseau horaire dans lequel l' ensemble de la jvm utilise utiliser TimeZone.setDefault méthode. Juste être sûr de définir dès le début, car il peut être mis en cache par joda time.. cité de DateTimeZone.getDefault:

Le fuseau horaire par défaut est dérivé du système de la propriété de l'utilisateur.le fuseau horaire. Si c'est null ou n'est pas un identificateur valide, alors la valeur de la JDK Fuseau horaire par défaut est converti. Si cela échoue, l'UTC est utilisé.

15voto

jtahlborn Points 32515

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);
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X