Java/Servlet: cours sql.Date
Ce que je dois faire est:
1) Obtenir la locale de l'utilisateur à partir de la demande.
2) Créer un nouveau sql.Objet Date avec la date et l'heure actuelles, basées sur la locale de l'utilisateur
3) Écrire dans MySQL db, type de colonne: TIMESTAMP
Ce que j'ai est:
java.util.Locale locale = request.getLocale();
java.text.DateFormat dateFormat =
java.text.DateFormat.getDateTimeInstance(
java.text.DateFormat.LONG, java.text.DateFormat.LONG, locale );
java.util.Date date = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date( date.getTime() );
Date est OK, mais ont un problème avec le temps - toujours 12:00:00 AM.
Des suggestions? Est-il un moyen plus efficace de faire cela?
OriginalL'auteur Artemij | 2009-05-06
Vous devez vous connecter pour publier un commentaire.
Même une solution plus compacte 😉
OriginalL'auteur Hugh
Il y a une solution plus simple pour elle.
utilisez ce code pour obtenir la date du jour à l'aide de java.util.Date
java.util.Calendar cal = java.util.Calendar.getInstance();
java.sql.Date timeNow = new Date(cal.getTimeInMillis());
OriginalL'auteur Aniruddh
Si vous voulez le temps, vous avez besoin d'un java.sql.Timestamp pas un java.sql.Date, et une colonne de type timestamp dans la base de données.
Je vous remercie. C'est ce que je cherchais 🙂
OriginalL'auteur Paul Tomblin
Noter que demande.getLocale utilise la valeur de l'en-tête Accept-Language tête et ne peut pas toujours vous donner la bonne localisation.
OriginalL'auteur kgiannakakis
Obtenir le fuseau horaire en fonction de la locale peut ne pas être de leur temps réel de la zone .
Un exemple: Ici, en Australie, l'endroit est de "en-UA", mais nous avons un peu de temps avec des zones jusqu'à 3 heures de différence.
Je suppose dans le NOUS, ils ont ce problème aussi.
Une solution possible est d' magasin de l'heure UTC à la place. Si l'utilisateur ajuste ensuite son fuseau horaire dans, disons, son prefrences, ou vous utilisez une autre méthode de passer le temps de la zone (client/navigateur info-dire via AJAX), alors vous pouvez régler l'heure UTC basé sur l'utilisation d'un
java.util.Calendar
instance.OriginalL'auteur Clinton