Discussione:
Esprimere differenza tra orari in formato 'orario'
(troppo vecchio per rispondere)
Massimiliano Bertoglio
2008-12-19 07:55:33 UTC
Permalink
Non ho praticamente mai lavorato con gli "orari" e incontro dei problemi
nuovi:

- Anzitutto qual è il metodo più semplice per eseguire la differenza tra due
ore (esprimendo sempre in ore il risultato)?

ex:

Ora Inizio= 17.00
Ora Fine = 18.30

Fine - Inizio = restituisce una cifra sballata...

Per risolvere ho convertito entrambi gli orari in secondi, quindi ho
effettuato la differenza e poi riconvertito tutto in ore.
Bella menata: esiste un metodo più immediato?

Altro problema: il risultato della differenza (in ore) risulta espresso su
base decimale.
Quindi <un'ora e mezza> risulterà 1,5 ore.

Può andar bene, ma preferirei ottenere a video una cosa tipo: 1.30
Si può fare con un opportuno Format() ?

Saluti a tutti ;-)
giorgio rancati
2008-12-19 08:26:17 UTC
Permalink
"Massimiliano Bertoglio" <***@NOSPAM.it> ha scritto nel messaggio news:494b5372$0$1106$***@reader3.news.tin.it...

Ciao Massimiliano,
Post by Massimiliano Bertoglio
Non ho praticamente mai lavorato con gli "orari" e incontro dei problemi
- Anzitutto qual è il metodo più semplice per eseguire la differenza tra due
ore (esprimendo sempre in ore il risultato)?
Ora Inizio= 17.00
Ora Fine = 18.30
Fine - Inizio = restituisce una cifra sballata...
restituisce la cifra corretta che dovrebbe essere 0,0625 ovvero un'ora e
mezza diviso 24.
Post by Massimiliano Bertoglio
Per risolvere ho convertito entrambi gli orari in secondi, quindi ho
effettuato la differenza e poi riconvertito tutto in ore.
Bella menata: esiste un metodo più immediato?
Altro problema: il risultato della differenza (in ore) risulta espresso su
base decimale.
Quindi <un'ora e mezza> risulterà 1,5 ore.
Può andar bene, ma preferirei ottenere a video una cosa tipo: 1.30
Si può fare con un opportuno Format() ?
vai nella finestra immediata di VBA e prova queste due funzioni
----
? DateAdd("s",Datediff("s",#17:00#,#18.30#),0)

? Format(#18.30#-#17.00#,"hh.nn")
----

Ciao
--
Giorgio Rancati
[Office Access MVP]
Massimiliano Bertoglio
2008-12-19 09:08:13 UTC
Permalink
"giorgio rancati" <
Post by giorgio rancati
Post by Massimiliano Bertoglio
Per risolvere ho convertito entrambi gli orari in secondi, quindi ho
effettuato la differenza e poi riconvertito tutto in ore.
Bella menata: esiste un metodo più immediato?
Altro problema: il risultato della differenza (in ore) risulta espresso su
base decimale.
Quindi <un'ora e mezza> risulterà 1,5 ore.
Può andar bene, ma preferirei ottenere a video una cosa tipo: 1.30
Si può fare con un opportuno Format() ?
vai nella finestra immediata di VBA e prova queste due funzioni
----
? DateAdd("s",Datediff("s",#17:00#,#18.30#),0)
? Format(#18.30#-#17.00#,"hh.nn")
Funziona benissimo e c'è solo l'imbarazzo della scelta: fantastico! ;-))

Grazie mille: MAX
maurizio
2008-12-19 10:15:00 UTC
Permalink
Giorgio ti ha detto tutto, ma vorrei aggiungere un piccolo particolare
(Giorgio non me ne voglia...)
Ho avuto dei problemi, più che altro "visivi" di arrotondamento,
per cui nei calcoli aggiungo sempre 0,5 minuti
ciao
maurizio
Post by Massimiliano Bertoglio
Non ho praticamente mai lavorato con gli "orari" e incontro dei problemi
- Anzitutto qual è il metodo più semplice per eseguire la differenza tra due
ore (esprimendo sempre in ore il risultato)?
Ora Inizio= 17.00
Ora Fine = 18.30
Fine - Inizio = restituisce una cifra sballata...
Per risolvere ho convertito entrambi gli orari in secondi, quindi ho
effettuato la differenza e poi riconvertito tutto in ore.
Bella menata: esiste un metodo più immediato?
Altro problema: il risultato della differenza (in ore) risulta espresso su
base decimale.
Quindi <un'ora e mezza> risulterà 1,5 ore.
Può andar bene, ma preferirei ottenere a video una cosa tipo: 1.30
Si può fare con un opportuno Format() ?
Saluti a tutti ;-)
giorgio rancati
2008-12-19 12:40:54 UTC
Permalink
Post by maurizio
Giorgio ti ha detto tutto, ma vorrei aggiungere un piccolo particolare
(Giorgio non me ne voglia...)
ci mancherebbe altro :-)
Post by maurizio
Ho avuto dei problemi, più che altro "visivi" di arrotondamento,
per cui nei calcoli aggiungo sempre 0,5 minuti
può essere se utilizzi la formula Format(#18.30#-#17.00#,"hh.nn"), perchè la
differenza viene eseguita nell'ambito del tipo di dato double che come
sappiamo è approssimato.

ma se usi
----
DateAdd("s",Datediff("s",#17:00#,#18.30#),0)
----
non credo avrai problemi
:-)
--
Giorgio Rancati
[Office Access MVP]

Continua a leggere su narkive:
Loading...