convertir le temps de hh:mm:ss pour hh:mm en java
Je veux convertir de temps à hh:mm hh:mm:ss
il s'agit de la base de données (my sql) dans le format hh:mm:ss.
J'ai essayé le code suivant mais je n'ai pas ce que je veux.
try {
s= HibernateUtil.currentSession();
tx=s.beginTransaction();
Query query = s.createQuery("select from Dailytimesheet dailytimesheet where dailytimesheet.IdDailyTimeSheet=6083 " );
for(Iterator it=query.iterate();it.hasNext();)
{
if(it.hasNext())
{
Dailytimesheet object=(Dailytimesheet)it.next();
String dt=object.getTimeFrom().toString();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
long ms=0;
try {
ms = sdf.parse(dt).getTime();
}
catch (ParseException e) {e.printStackTrace();}
Time ts = new Time(ms);
out.println("<h2>"+ts+"</h2>");
merci pour votre aide.
- Quelle réponse avez-vous? Que répondre si vous avez reçu?
- Il vous manque beaucoup de parenthèses dans cet extrait de code - veuillez la formater correctement.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de convertir un
java.util.Date
objet d'unjava.lang.String
objet représentant le lisible par les humains à l'heure dans le format souhaité à l'aide deDateFormat#format()
. Vous ne pouvez pas convertirDate
nouveau (ou un de ses sous-classes commejava.sql.Time
et ainsi de suite), sans perdre le format. Le format est à savoir de ne pas stockées dansDate
. LeDate
ne sait que sur le montant de millisecondes écoulées depuis l'Époque.La conversion de format HH:MM:SS pour HH:MM, le mieux est de
hhmmss.substring(0,5)
😉 Sinon, vous pourriez préférer le format des données directement dans leSELECT
déclaration.Vous pourriez peut-être ajouter une nouvelle méthode à Dailytimesheet appelé getTimeWithoutSecondsFrom() copie de l'objet date, et ensuite la copie de secondes à zéro avant de retourner la date.
Comme un avantage supplémentaire, vous pouvez éviter la SimpleDateFormat sdf bits au total, et le code sera plus facile à lire.
Le code pourrait ressembler à ceci:
Qu'en essayant de la java.util.Calendrier De La Classe?
Vous pourriez faire quelque chose comme ceci:
Ou que je n'obtiens pas votre question?
Vous devez utiliser le
DateFormat
's méthode de mise en forme. Quelque chose comme:Je voudrais juste faire la conversion dans le code SQL dans ce cas. Voici le MySql référence sur la date de conversion. Dans votre cas, il devrait être quelque chose comme cela -
On dirait que vous avez besoin de faire la conversion pour chaque ligne, vous obtenez à partir de votre requête et il peut être plus rentable de l'avoir fait par le moteur de base de données si vous êtes à la récupération de nombreux enregistrements.