Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    204

    [DELPHI] Confronto tra campi ora

    Sto eseguendo il controllo tra due orari per conoscere un dipendente quante ore lavora al giorno

    ora di partenza 8:00 ora di arrivo 12:00

    Se faccio la differenza tra questi due orari per sapere quanti minuti sono trascorsi con la procedura MinutesBetween invece di darmi 240 minuti me ne dà 239 e posso capire il perchè.

    Come posso fare o c'è qualche procedura che mi restitusca 240 minuti??

    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,862
    Mi sembra strano che ti restituisca quel valore.

    Come memorizzi l'ora?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Delphi Succinctly (e-book)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    204
    L'ora la memorizzo in un campo di tipo Time

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    204
    Controllando un pò in giro per il web il MinutesBetween da problemi Mi sembra strano che non esista una procedura che non restituisca i minuti esatti, in vb c'è il datediff e non c'è un corrispondente per delphi?

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,862
    Puoi sempre utilizzare le classiche funzioni di manipolazione data/ora per scomporre la tua ora ed effettuare i calcoli come meglio credi.

    Quando ho chiesto "come memorizzi l'ora" mi riferivo in particolare al codice che hai scritto per acquisirla e memorizzarla più che al tipo di dati usato in senso stretto.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Delphi Succinctly (e-book)

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    204
    var
    d1, d2: TDateTime;

    d1 := StrToDateTime('13/05/2003 14:00');
    d2 := StrToDateTime('13/05/2003 14:01');

    d2 := RecodeMillisecond(d2, 1);

    ShowMessage(IntToStr(MinutesBetween(d1, d2)));


    Questa sembra essere la soluzione.Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.