Calcul d'heure
Résolu/Fermé
A voir également:
- Calcul d'heure
- Calcul moyenne excel - Guide
- Logiciel calcul plancher bois gratuit - Télécharger - Architecture & Déco
- Convertir heure en centième excel ✓ - Forum Excel
- 1go internet = combien d'heure ✓ - Forum Réseaux sociaux
- 35 go internet équivalent en heure ✓ - Forum Mobile
3 réponses
Bonjour,
Pouvez-vous tester ce code
Pouvez-vous tester ce code
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; class Heure extends JFrame { private int heure,vraiHeure,min,seconde; private int[] x2={200,209,217,225,233,240,248,254,260,265,270, 274,277,278,279,280,279,278,277,274,270, 265,260,254,248,240,233,225,217,209,200, 192,184,176,168,160,153,147,141,136,130, 127,124,122,121,120,121,122,124,127,130, 136,141,147,153,160,168,176,184,192}; private int[] y2={70,71,72,74,77,80,86,91,97,103,110, 118,126,134,142,150,159,167,175,183,190, 197,204,209,214,220,224,227,228,229,230, 229,228,227,224,220,214,209,204,197,190, 183,175,167,159,150,142,134,126,118,110, 103,97,91,86,80,77,74,72,71}; private int[] Tx2={195,240,270,280,270,240,195,155,125,115,120,150}; private int[] Ty2={70,80,110,155,195,225,240,225,195,155,115,80}; private int[] Hx2={200,207,213,220,225,230,236,240,244,247,248,249, 250,249,248,247,244,236,230,225,213,220,213,207,200, 194,188,181,175,170,165,161,157,154,152,151,150,151, 152,154,157,161,165,170,175,181,188,194}; private int[] Hy2={100,101,102,104,107,111,115,120,125,131,138,144,150, 157,163,170,175,181,186,190,194,197,198,199,200, 199,198,197,194,190,186,181,175,170,163,157,150,144, 138,131,125,120,115,111,107,104,102,101}; private final int x1=200,y1=150; private boolean quar=true,demi=true,moinquar=true; public Heure() { super("Heure"); setBounds(300,200,400,300); Container con = getContentPane(); con.setLayout(null); Date date = new Date(); System.out.println(Hx2.length); System.out.println(Hy2.length); setDefaultCloseOperation(this.EXIT_ON_CLOSE); heure = date.getHours(); vraiHeure = heure; if(heure > 12) heure=(heure-=12)*4; min = date.getMinutes(); seconde = date.getSeconds(); if(min >= 15 && min < 30) { heure++; quar = false; } if(min >= 30 && min < 45) { heure+=2; quar = false; demi = false; } if(min >= 45) { heure+=3; quar = false; demi = false; moinquar = false; } System.out.println(vraiHeure+":"+min+" "+seconde); setVisible(true); setResizable(false); second(); } public void paint(Graphics g) { g.clearRect(0,0,400,300); g.setColor(Color.orange); g.fillRect(100,50,200,200); g.setColor(Color.white); g.fillOval(100,50,200,200); g.setColor(Color.green); g.drawLine(x1,y1,x2[min],y2[min]); g.drawLine(x1,y1,Hx2[heure],Hy2[heure]); g.setColor(Color.red); g.drawLine(x1,y1,x2[seconde],y2[seconde]); g.setColor(Color.blue); g.drawString("12",Tx2[0],Ty2[0]); for(int i=1;i < 12;i++) { g.drawString(String.valueOf(i),Tx2[i],Ty2[i]); } g.setColor(Color.black); if(seconde<10&&min<10) g.drawString(vraiHeure+":0"+min+" 0"+seconde,180,270); if(seconde>=10&&min<10) g.drawString(vraiHeure+":0"+min+" "+seconde,180,270); if(seconde<10&&min>=10) g.drawString(vraiHeure+":"+min+" 0"+seconde,180,270); if(seconde>=10&&min>=10) g.drawString(vraiHeure+":"+min+" "+seconde,180,270); } private void second() { Thread sec = new Thread(); while(true) { try { sec.sleep(1000); }catch(Exception err) { } if(seconde==59) { seconde = 0; if(min==59) { min = 0; if(heure==48) { heure = 0; vraiHeure = 0; } else { heure++; vraiHeure++; } quar=true; demi=true; moinquar=true; } else min++; } else seconde++; if(min >= 15 && min < 30 && quar) { heure++; quar = false; } if(min >= 30 && min < 45 && demi) { heure++; demi = false; } if(min >= 45 && moinquar) { heure++; moinquar = false; } repaint(); } } public static void main(String[] args) { new Heure(); } }
jordane45
Messages postés
38136
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 avril 2024
4 649
3 févr. 2021 à 00:59
3 févr. 2021 à 00:59
Bonsoir,
Pour traiter ta question, il faut que tu utilises un objet date.
NB: Je suis parti du principe que le 6h et le 18h étaient sur la même journée...
Si tu veux faire le calcul entre 18h et 6h le lendemain .. il faut
Pour traiter ta question, il faut que tu utilises un objet date.
function msToTime(duration) { var milliseconds = parseInt((duration % 1000) / 100), seconds = Math.floor((duration / 1000) % 60), minutes = Math.floor((duration / (1000 * 60)) % 60), hours = Math.floor((duration / (1000 * 60 * 60)) % 24); hours = (hours < 10) ? "0" + hours : hours; minutes = (minutes < 10) ? "0" + minutes : minutes; seconds = (seconds < 10) ? "0" + seconds : seconds; return hours + ":" + minutes + ":" + seconds + "." + milliseconds; } var d1 = new Date(); d1.setHours(6, 0, 0); // heure1="6:00"; var d2 = new Date(); d2.setHours(18, 0, 0); // heure2="18:00"; var diff = Math.abs(d2 - d1); // retourne la différence en millisecondes console.log(msToTime(diff)); // affiche dans la console la durée en Heures:Minutes:Secondes var tiers=diff/3; console.log(msToTime(tiers)); // affiche dans la console la durée en Heures:Minutes:Secondes var tiers1 = new Date(d1.getTime() + tiers); console.log(tiers1); var tiers2 = new Date(tiers1.getTime() + tiers); console.log(tiers2); var tiers3 = new Date(tiers2.getTime() + tiers); console.log(tiers3);
NB: Je suis parti du principe que le 6h et le 18h étaient sur la même journée...
Si tu veux faire le calcul entre 18h et 6h le lendemain .. il faut
var d2 = new Date(); d2.setDate(d2.getDate() + 1); d2.setHours(6, 0, 0); // heure2="6:00" le lendemain; var d1 = new Date(); d1.setHours(18, 0, 0); // heure1="18:00";
3 févr. 2021 à 00:37
Visiblement tu continues à répondre n'importe quoi .....
Ton code .. c'est du JAVA .... la question concerne du JAVASCRIPT !!