Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso
Titan Army P2712V è un monitor da 27 pollici che unisce due anime in un unico prodotto: da un lato la qualità visiva del 4K UHD a 160 Hz, dall'altro la velocità estrema del Full HD a 320 Hz. Con pannello Fast IPS, HDR400, Adaptive-Sync, illuminazione RGB e regolazioni ergonomiche, punta a soddisfare sia i giocatori competitivi che i content creator
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-03-2005, 13:02   #1
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
[VB6] calcolare differenza tra date

Buona domenica a tutti.

Non riesco in visual basic ad effettuare un calcolo tra date;

es:

input al 03/03/2005 alle 15:00:39


output al 06/03/2005 alle 20:31:46


non riesco a capire come fargli fare il totale delle ore e dei giorni.

Mi aiutate?

Thx.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2005, 19:20   #2
motogpdesmo16
Senior Member
 
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
io so che il visual basic ha una funzione predefinita che calcola la distanza in giorni dalla data odierna. Si chiama DateDiff. C'è una peculiarità: nel caso la data inserita in input è anteriore alla data odierna, il numero di giorni risulta essere negativo.


questo è il codice comunque (che puoi anche trovare nell'help in linea)

Codice PHP:
Private Sub Form_Load()
Dim TheDate as Date
Dim Msg
TheDate
=InputBox("Digitare una data")
Msg="Giorni dalla data odierna: " DateDiff("d"NowTheDate)
MsgBox Msg
End Sub 
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond
motogpdesmo16 è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2005, 22:35   #3
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
scusa, colpa mia che mi sono espresso una schifezza..

allora, in un database, ho un campo "Orario", che memorizza un "Now"....

es.:

06/03/2005 23.14.05


quindi, mi prende la data precisa completa di ora, minuti e secondi.

Bene, quello che avrei necessità di fare, è che anzichè prendermi l'orario in questa maniera, me lo divida in:

data
ora

in modo da avere nel database:

data
06/03/2005

ora
23.14.05

e fin qui, credo che devo solo capire come "scomporre" il comando Now per farmi questa divisione.

ora, succede che devo fare il calcolo del tempo in base alle ore, e non alla data, ovvero:

ora1
23.00.00

ora2
24.00.00

totale ore

1.00

ho provato con:

DateDiff("h", Ora1, Ora2)

ma senza successo
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2005, 23:12   #4
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Allura, per fare quello che vuoi tu fai così:

MsgBox Format(Now, "dd/mm/yyyy")
MsgBox Format(Now, "hh.ss")

naturalmente metti in Now la data presa dal database.


Per fare i calcoli, è giusto come fai tu, ma le 24 nn sono un ora, perchè in tutto il mondo sono le 0 !!

Quandi mi sa che devi rivedere un po' la faccenda.
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2005, 23:20   #5
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da matpez
Allura, per fare quello che vuoi tu fai così:

MsgBox Format(Now, "dd/mm/yyyy")
MsgBox Format(Now, "hh.ss")

naturalmente metti in Now la data presa dal database.


Per fare i calcoli, è giusto come fai tu, ma le 24 nn sono un ora, perchè in tutto il mondo sono le 0 !!

Quandi mi sa che devi rivedere un po' la faccenda.
mmm.... forse il problema è un pò più complicato, e mi scuso ancora se l'ho spiegato una schifezza

allora, la tabella del db ha questi campi:

Nome
data
orario


bene, la divisione di "Now" l'ho semplicemente effettuata così:

in "Date" e in "Time", in modo che nei due campi del db

ottengo:

RaouL
07/03/2005
13.10.25


E fin qui va tutto bene ma....quello che in realtà devo calcolare, è il tempo che "Raoul" ha trascorso tra quando ha inserito per la prima volta il suo nome per iniziare la sessione, e quando lo ha ri-digitato per terminare.

Quindi, nel DB io avrò ad esempio:

Codice:
RaouL   07/03/2005    13.10.25
RaouL   07/03/2005    18.10.25
Bene, come faccio ad ottenere le 5 ore?


__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 07:44   #6
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Io ho provato, ma se faccio così...

Codice:
MsgBox DateDiff("h", CDate("07/03/2005 13.10.25"), CDate("07/03/2005 18.10.25"))
...funziona e ti tornano le tue 5 ore
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 14:29   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da matpez
Io ho provato, ma se faccio così...

Codice:
MsgBox DateDiff("h", CDate("07/03/2005 13.10.25"), CDate("07/03/2005 18.10.25"))
...funziona e ti tornano le tue 5 ore

Ma mi funziona se ad esempio io prendo l'intervallo da due textbox, o due variabili, ma non mi riesce di farlo funzionare visto che la Data1 e la Data2, sono un recordset;

es.:

Codice:
MsgBox DateDiff("h", rs("Orario"), rs("Orario"))
In questo modo non mi funziona purtroppo
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 14:54   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
MsgBox DateDiff("h", CData(rs("Orario")), CDate(rs("Orario")))
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 15:45   #9
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Quote:
Originariamente inviato da cionci
MsgBox DateDiff("h", CData(rs("Orario")), CDate(rs("Orario")))
Eggià cionci, RaouL_BennetH nn guarda fino in fondo gli esempi, già nel mio era così, heehheeh, sei un pochino sbadatello
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 19:36   #10
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da matpez
Eggià cionci, RaouL_BennetH nn guarda fino in fondo gli esempi, già nel mio era così, heehheeh, sei un pochino sbadatello
Chiedo perdono ad entrambi


really sorry


Grazie millissime cmq

torno fra poco per bombardarvi di nuovo
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 20:01   #11
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Però...... no, evidentemente non ci arrivo:

Come differenza mi da sempre 0.

ecco il codice:

Codice:
MsgBox DateDiff("h", CDate(rs("orario")), CDate(rs("orario")))
Nel campo del db orario ho questi due orari:

22.14.58
23.21.12

Ho provato a metterli anche senza secondi, ma qualsiasi orario abbia, mi restituisce sempre 0.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2005, 20:07   #12
matpez
Senior Member
 
L'Avatar di matpez
 
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
Bhe ma è logico... pensaci, stai dando alla differenza la stesso valore, nn ti sembra veramente una caxxata?

Per fare quello che vuoi tu, ti devi memorizzare in una variabile Date il primo valore e poi il secondo!

dtData1=rs("orario"))
rs.movenext
dtData2=rs("orario"))

MsgBox DateDiff("h", dtData1, dtData2)
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!"
A. Einstein
matpez è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 16:08   #13
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Tornando su questo codice che poi grazie al VS aiuto sono riuscito a far funzionare, ora volevo lavorare un pò di fino e fare in modo che non mi 'arrotondasse' il risultato.

Ad es.: se la differenza fra le ore è di 5.37

vorrei averlo con una certa precisione perchè riesco solo ad ottenere un arrotondamento a 5 ore.

Suggerimenti?

Thx.

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 16:28   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
DateDiff("h", dtData1, dtData2)

Perchè così gli chiedi di calcolarlo in ore...

Calcolalo in secondi e poi fai una divisione intera per 60 per ottenere i minuti e una divisone intera per 3600 per ottenre le ore...

Ciao
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 16:33   #15
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da cionci
DateDiff("h", dtData1, dtData2)

Perchè così gli chiedi di calcolarlo in ore...

Calcolalo in secondi e poi fai una divisione intera per 60 per ottenere i minuti e una divisone intera per 3600 per ottenre le ore...

Ciao
Ci avevo pensato sinceramente, ma, credevo di star facendo un ragionamento troppo complicato, e stavo cercando su msdn qualcosa tipo: ("h:m"......)

non avendola trovata sono arrivato qui:

http://msdn.microsoft.com/library/it...onsDtoGVBA.asp

dove infatti non c'è una funzione apposita che restituisca direttamente un dato più preciso, cioè, come serve a me.

Thx a lot
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 17:02   #16
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
qualcosa non torna:

allora, nel db il campo "sessione" è in formato testo

in questo campo ci va il dato in questa forma:

19/03/2005 18.00.40 (per esempio)

ora, ho seguito il suggerimento di Matpez che mi diceva di crearmi una variabile per contenere questo campo sul quale calcolare la differenza:

Codice:
Dim Sessione1 As String
Dim Sessione2 As String

' apro la connessione al db.....

Sessione1 = rs("sessione")
rs.movenext
Sessione2 = rs("sessione")

'dichiaro poi una variabile per la differenza ore:

Dim TotOre As Double

TotOre = DateDiff("s", Sessione1, Sessione2) / 3600
Ho provato come intervalli:

19/03/2005 07.30.00
19/03/2005 15.45.00

e dovrebbe quindi restituirmi 8.15 ore....

invece... me ne da 8.25

__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 17:17   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Te l'ho detto devi fare una divisone intera... Per ottenere i minuti o prendi il resto della divisione per 60...

Dim Ore As Integer, Minuti As Integer

Ore = Secondi / 3600
Minuti = (Secondi Mod 3600) / 60
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 18:16   #18
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da cionci
Te l'ho detto devi fare una divisone intera... Per ottenere i minuti o prendi il resto della divisione per 60...

Dim Ore As Integer, Minuti As Integer

Ore = Secondi / 3600
Minuti = (Secondi Mod 3600) / 60
ma difatti è così

l'unica cosa che non ho capito come fare, è come prendermi il resto che mi viene tramite mod e sommarlo all'ora totale
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2005, 18:25   #19
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
ho fatto così ma mi pare troppo complesso:

Codice:
wd = DateDiff("s", dtDate, dtDate1) / 60 ' ottengo i minuti
wl = (wd / 60) ' ottengo le ore
wm = wd Mod 60 ' ottengo il resto che sono i miei minuti
wt = wl & "." & wm ' questo è il totale
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2005, 12:20   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Va bene così...nonc apisco cosa tu voglia ottenere... Ad esempio se hai 3 ore e 30 minuti vuoi ottenere 3,5 ?

In tal caso fai:

Dim res As Double

...
...
...

res = Ore + (Minuti / 60) * 100
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
L'intelligenza artificiale canceller&agr...
Battlefield 6: analisi grafica e DLSS
Gauss Fusion presenta GIGA: l'Europa acc...
Lo sapete che anche le auto elettriche d...
Oltre un miliardo di dati sensibili sott...
iPhone 17, segni sui modelli in esposizi...
Sviluppatore Microsoft confessa: la cele...
Sfrutta l'IA per migliorare a lavoro, l'...
iPhone 18 Fold: un leak indica i materia...
Instagram testa nuove opzioni per contro...
Elon Musk raggiunge un accordo con l'ex ...
Meta Quest 3S da 256 GB in offerta su Am...
L'energia solare è la più ...
I furgoni elettrici sono già pi&u...
ChatGPT 'pubblicato' per errore: la gaff...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v