La création d'un GregorianCalendar instance de millisecondes
J'ai un certain temps en millisecondes (dans un Timestamp objet) et je veux l'utiliser pour créer un GregorianCalendar objet. Comment puis-je le faire?
Edit:
Comme peterh souligné, GregorianCalendar.getInstance() ne fournira pas de GregorianCalendar par défaut, parce qu'il est hérité deCalendar.getInstance(), qui peut fournir par exemple un BuddhistCalendar sur certaines installations. Pour être sûr d'utiliser un GregorianCalender utilisation new GregorianCalendar() à la place.
Aussi étrange que cela puisse vous paraître, vous ne sont pas la garantie d'un GregorianCalender en appelant GregorianCalendar.getInstance() comme vous le faites. Depuis que la question est plus précisément sur GregorianCalendar je pense que cette réponse est un peu incorrect. (haaduken la réponse est plus correct)
Pour obtenir un GregorianCalendar objet et non pas un Calendrier de l'objet. Comme Michael réponse de l'offre, vous pouvez également effectuer les opérations suivantes:
long timestamp =1234567890;GregorianCalendar cal =newGregorianCalendar();
cal.setTimeInMillis(timestamp);
il est intéressant de noter que la setTimeInMillis(...) la méthode est héritée du Calendrier de la classe. Aussi, la mise en forme du code dans votre réponse serait utile. 🙂
donc, si vous êtes réglage de l'heure dans l'horodatage et puis, pourquoi créer timestamp objet? me bat
avez un certain temps en millisecondes (dans un Horodatage de l'objet)" - OP
Juste obtenir une instance de GregorianCalendar et setTime avec votre java.sql.Timestamp
timestamp
:Edit:
Comme peterh souligné,
GregorianCalendar.getInstance()
ne fournira pas deGregorianCalendar
par défaut, parce qu'il est hérité deCalendar.getInstance()
, qui peut fournir par exemple unBuddhistCalendar
sur certaines installations. Pour être sûr d'utiliser unGregorianCalender
utilisationnew GregorianCalendar()
à la place.GregorianCalender
en appelantGregorianCalendar.getInstance()
comme vous le faites. Depuis que la question est plus précisément sur GregorianCalendar je pense que cette réponse est un peu incorrect. (haaduken la réponse est plus correct)Pour obtenir un GregorianCalendar objet et non pas un Calendrier de l'objet. Comme Michael réponse de l'offre, vous pouvez également effectuer les opérations suivantes:
Cela suppose UTC époque timestamp.
Je crois que cela fonctionne, mais il peut ne pas être la meilleure approche: