IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Calculer le temps en second d'un vol


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut Calculer le temps en second d'un vol
    Bonjour,
    Je devais calcul le temps en second d'un vol de 15h30"45' maintenant à 5h30"6' le lendemain. Sachant que j'ai des données de la boite noir qui me donne comme ca:
    Hour Min Sec
    15 30 45
    15 30 53
    15 31 01
    15 31 13
    ainsi suite jusqu'à 5h30"6'

    Et puis j'ai une autre probleme:
    j'ai 2 colonnes comme :
    ---16
    15 ---
    --- ---
    13 ---
    --- --
    --- ---
    ---15

    je voudrais remplir les cases vides par les valeurs précédentes par une fonction en java pour trouver la resultat comme:
    ---16
    1516
    1516
    1316
    1316
    1316
    1315
    , si quel qu'un connait, aidez moi, s'il vous plait. Si vous savez la méthode pour remplir la première case vide
    1516
    1516

    , je vous remercie beaucoup.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 964
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 964
    Par défaut
    Hoa,

    Je ne vois pas où est ton problème.

    Tu fais comme à la main ...

    ... et non, il n'y a pas de fonction standard pour faire ça.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par OneStar Voir le message
    Bonjour,
    Je devais calcul le temps en second d'un vol de 15h30"45' maintenant à 5h30"6' le lendemain. Sachant que j'ai des données de la boite noir qui me donne comme ca:
    Hour Min Sec
    15 30 45
    15 30 53
    15 31 01
    15 31 13
    ainsi suite jusqu'à 5h30"6'
    Cela n'est pas évident, en fait.
    En théorie, on pourrait dire qu'il suffit de parser la première et la dernière heure en dates. Ensuite, les comparer, et si la dernière heure est avant la première, lui ajouter un jour, parce que ça signifie qu'elle est le lendemain. Puis calculer la différence en millisecondes entre les deux.

    Mais ça pose des problèmes : supposons qu'un vol puisse durer plus d'un jour. (Est-ce possible ? Est-il envisageable que le programme rencontre ça dans le futur ?)
    Dans ce cas-là la dernière heure serait après la première, et il serait passé plus de 24 heures entre les deux. La solution précédente ne marcherait donc pas.
    Plus grave, il n'y a pas a priori de solution idéale : supposons qu'il n'y ait pas de ligne affichée entre le 1er Janvier à 7h05 et le 2 Janvier à 7h06. Comment savoir s'il s'est passé une minute, ou bien 24 heures et 1 minute entre les deux lignes ?


    Et puis j'ai une autre probleme:
    j'ai 2 colonnes comme :
    ---16
    15 ---
    --- ---
    13 ---
    --- --
    --- ---
    ---15

    je voudrais remplir les cases vides par les valeurs précédentes par une fonction en java pour trouver la resultat comme:
    J'ai pas compris l'exemple. Faudrait nous dire ce que tu as comme objets en entrées, ce que tu veux comme objets en sortie, et éventuellement nous dire à quoi ça sert, pour qu'on essaie de piger l'exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Comme je connais qu'il y a pas un vols qui a la durée plus d'1 jour d'une compagnie aéroplane.
    j'imagine pas qu'il y a autant problèmes avec temps de vols. comme tu as dit,Je croyais que, si on stocke le temps start en second dans un variable, et on fait la diffèrente entre le temps actuel et le temps start, Si ca depasse 24h, on ajoute 24*3600 second.

    Et pour le 2eme problème, c'est des colonnes de Longitude et Latitude d'avion, la boite noir qu'il m'affiche les 2 valeurs de longitude et latitude en meme temps:
    exemple dans le fichiers qui joindre, sachant que chaque ligne est une second.

    Je voudrais remplir les cases vides par les valeurs existes,cad, jusqu'à nouveau changement de longitude ou latitude, les valeurs dans les cases vides sont egales à celle d'avante. Ici, dans cette example(fichier joindre) les premiere cases sont vides, je sais pas comment mettre les valeurs de celle apres 3 second de dans.
    Fichiers attachés Fichiers attachés

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par OneStar Voir le message
    Comme je connais qu'il y a pas un vols qui a la durée plus d'1 jour d'une compagnie aéroplane.
    j'imagine pas qu'il y a autant problèmes avec temps de vols. comme tu as dit,Je croyais que, si on stocke le temps start en second dans un variable, et on fait la diffèrente entre le temps actuel et le temps start, Si ca depasse 24h, on ajoute 24*3600 second.
    Toi tu n'imagines peut-être pas autrement mais ce qui compte, c'est le cahier des charges.

    D'une manière ou d'une autre, il faut glisser une remarque "attention, si un jour vous faites des vols de plus de 24 heures, ce programme vous répondra n'importe quoi." Quand tout le monde aura bien ri, tu répètes. "N'empêche que ce serait con que des gens se mettent à utiliser ce programme, à compter dessus, et qu'un jour on fasse des vols bizarres de plus d'un jour qui disent qu'ils ont duré une heure."
    Les ingénieurs continueront à rire, mais normalement à un moment un manager va te tomber dessus et essayer de comprendre comment ça peut foirer sans que tu t'en rendes compte, et comment faire autrement pour que ça n'arrive pas.
    Le manager va sûrement vouloir tester le programme, et des tests, ça n'en a rien à foutre si les vols ça peut durer plus ou moins d'un jour.

    Enfin, ça c'est en théorie. Mais j'imagine que le programme ne sera pas beaucoup utilisé en pratique, et que même s'il survit jusqu'à une époque de science-fiction, ça n'a pas d'importance s'il raconte n'importe quoi.

    Citation Envoyé par OneStar Voir le message
    Et pour le 2eme problème, c'est des colonnes de Longitude et Latitude d'avion, la boite noir qu'il m'affiche les 2 valeurs de longitude et latitude en meme temps:
    exemple dans le fichiers qui joindre, sachant que chaque ligne est une second.

    Je voudrais remplir les cases vides par les valeurs existes,cad, jusqu'à nouveau changement de longitude ou latitude, les valeurs dans les cases vides sont egales à celle d'avante. Ici, dans cette example(fichier joindre) les premiere cases sont vides, je sais pas comment mettre les valeurs de celle apres 3 second de dans.
    Oui d'accord, mais c'est évident comment faire ça. Si tu devais le faire à la main, tu saurais faire ? Eh ben, même chose en programmation.
    Si tu sais pas comment faire ça, je t'ai demandé quels objets tu as en entrée et quels objets tu veux en sortie. Alors ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Calcul du temps en seconde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Date d1 = ...
    Date d2 = ....
    long s = (d2.getTime() - d1.getTime()) / 1000;
    En general pour avoir la date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Calendar c = GregorianCalendar.getInstance();
    c.set(Calendar.HOUR, ...);
    c.set(Calendar.MINUTE, ...);
    c.set(Calendar.SECOND, ...);
    Date d = c.getTime();
    Ou alors en utilisant DateFormat.

    Ensuite pour remplir les colonnes manquante ou savoir combien de jour entre le debut et la fin du vol, c'est principalement de l'analyse de texte.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Le problème étant que la date n'est pas indiquée, hein.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Et ? Même sans passer par Date, le nombre de secondes est relativement facile à calculer quoi qu'imprecis (puisque le jour n'est pas exactement égal à 24h ni l'année à 365 jours). Il te faut voir ce qui est indiqué dans le cahier des charges ou demander des précisions sur l'exactitude.

    Si tu peux estimer que 1 jouer = 24h et = 24*60m = 24*60*60s, le calcul est très simple à faire. Quand à détecter si on est passé au jour suivant l'analyse successive des lignes le montrera (passage de 23hqqchose à 00hqqchose ; la nouvelle heure est désormais inférieure à l'heure initiale).
    Pour info, certains ballons atmosphériques ont été en vols plus de 40 jours, un avion solaire sans pilote a volé plus de 2 semaines et pour l'aviation commerciale :

    Citation Envoyé par http://en.wikipedia.org/wiki/Non-stop_flight
    This was not, however, the record for longest time staying aloft for an airliner. This debatable record is held either by the 1939 Berlin-New York non stop flight of a reciprocal piston powered Focke-Wulf Fw 200 built for Lufthansa (flight time 24 hours and 56 minutes) or by a Trans World Airlines Lockheed 1649A Starliner on the inaugural London-San Francisco polar route on 1–2 October 1957 (flight time 23 hours and 19 minutes). The L-1649A was the last of the Constellation series, and the ultimate piston-engine airliner in terms of range and endurance.[4]
    L'interrêt de travailler avec Calendar et Date c'est que tu pourrais éventuellement jouer sur les corrections apportées à l'algorthime de calcul du calendrier au fil du temps (comme lorsqu'1 seconde a été ajoutée entre 2008 et 2009 pour compenser la rotation de la terre autour du soleil (et donc du coup ça a eut une influence sur tous les systèmes informatiques de la planète par effet de cascade).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par bouye Voir le message
    L'interrêt de travailler avec Calendar et Date c'est que tu pourrais éventuellement jouer sur les corrections apportées à l'algorthime de calcul du calendrier au fil du temps (comme lorsqu'1 seconde a été ajoutée entre 2008 et 2009 pour compenser la rotation de la terre autour du soleil (et donc du coup ça a eut une influence sur tous les systèmes informatiques de la planète par effet de cascade).
    Et si les données en question proviennent d'une horloge GPS ou TAI, il ne faut surtout pas utiliser Calendar, sinon tu va te retrouver décalé de quelques secondes!

  10. #10
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Pourtant il doit bien y avoir des corrections pour les GPS sinon on se trouverai TRES rapidement avec des erreurs de positionnement puisque le temps d'une journée n'est pas de 24h.

    De plus, de manière générale en astronautique, il y a déjà des corrections pour tenir compte du fait que la théorie de la relativité restreinte d'Einstein s'applique : les sattelites se déplacant à grande vitesse leur horloge fonctionne plus lentement que sur Terre.

    EDIT - il me semble me souvenir qu'elle s'applique aussi sur les avions également d'ailleurs.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  11. #11
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    les GPS n'ont pas de correction des LEAP secondes. Ils utilisent une horloge atomique, point. Ce qui importe c'est justement de pouvoir prévoir le foncitonnement du système à long terme. Hors les LEAP seconds sont imprévisibles (elle sont mesurée uniquement et annoncée avec 6 mois de préavis). Tout ce dont les GPS ont besoin c'est que leur horloge interne soit synchronisée, pas qu'elle se convertisse en une heure précise pour l'utilisateur.

    Le nombres des secondes y est donc continu.
    On, est d'ailleurs en temps gps à 1597ème semaine, 379344s
    # UTC, Coordinated Universal Time, popularly known as GMT (Greenwich Mean Time), or Zulu time. Local time differs from UTC by the number of hours of your timezone.
    # GPS, Global Positioning System time, is the atomic time scale implemented by the atomic clocks in the GPS ground control stations and the GPS satellites themselves. GPS time was zero at 0h 6-Jan-1980 and since it is not perturbed by leap seconds GPS is now ahead of UTC by 15 seconds.
    # Loran-C, Long Range Navigation time, is an atomic time scale implemented by the atomic clocks in Loran-C chain transmitter sites. Loran time was zero at 0h 1-Jan-1958 and since it is not perturbed by leap seconds it is now ahead of UTC by 24 seconds.
    # TAI, Temps Atomique International, is the international atomic time scale based on a continuous counting of the SI second. TAI is currently ahead of UTC by 34 seconds.

  12. #12
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Certes mais comme je disais :

    Citation Envoyé par http://en.wikipedia.org/wiki/GPS#Relativity
    GPS positioning is one of the few everyday events in in which relativistic effects must be accounted for.[79] For example, satellite clocks are tuned to 10.22999999543 MHz before launch, to compensate for the effects of gravitational time dilation and achieve a frequency of precisely 10.23 MHz once in orbit.[80]
    Mais bon, on s'égare .
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  13. #13
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par bouye Voir le message
    Certes mais comme je disais :



    Mais bon, on s'égare .
    Certes mais la reflexion de base reste -> ne pas utiliser Calendar pour n'importe quoi

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Autre remarque : jusqu'à quel point est-on garanti qu'il s'écoulera moins de 24 heures entre deux lignes ?
    C'est une supposition intrinsèque à l'approche "l'heure est subitement passée avant l'heure précédente".

    "Et ?" - Ben, et le problème c'est ça, comme il a déjà été discuté précédemment, et je vois pas en quoi parler de Calendar ou de DateFormat l'aborde.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    "Et ?" car le principal problème n'est pas la methode de calcul quelle qu'elle soit mais sa définition de 1 journée / 24h.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  16. #16
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Cela en découle, et n'était pas abordé non plus.

    Edit : et puis d'ailleurs, non, tiens. La question de ce qu'est une journée n'est qu'une partie du problème (à laquelle on ne pense d'ailleurs généralement pas, du fait qu'en général on ne considère pas les secondes intercalaires faute de pouvoir le faire de manière pratique et faute qu'un décalage de deux secondes entre UTC et GMT soit important, et qu'une journée c'est 24 heures sauf en cas de changement d'heure, auquel cas c'est 23 ou 25 heures.)
    La question c'est quelles sont les garanties apportées par le format de fichier lu.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comment calculer un temps en second?
    Par adil_vpb dans le forum SQL
    Réponses: 7
    Dernier message: 25/10/2007, 16h16
  2. calcul de temps en seconde
    Par monopole dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/08/2006, 18h42
  3. calculer le Temp écoulé
    Par ada_b dans le forum SQL
    Réponses: 1
    Dernier message: 30/11/2004, 09h44
  4. [MFC] : CTime ? Calcul de temps d'éxécution
    Par jonzuzu dans le forum MFC
    Réponses: 10
    Dernier message: 25/05/2004, 14h22
  5. Réponses: 8
    Dernier message: 18/09/2002, 03h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo