|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[C#..ma anche no..]maledetta mezzanotte
Ciao a tutti
![]() Allora, il mio problemuccio è questo. Valori di tipo double (che poi vengono valutati in unità di tempo, per es.: var1 = 18.00 var2 = 22.00 In base ad una semplice operazione (var2 - var1) mi da correttamente 4.00 Ora... var1 = 22.00 var2 = 00.30 devo fare in modo che mi restituisca 2.30 (o 2.50) Il codice che di sicuro posterete sul Daily Wtf è questo: Codice:
DateTime dt1, dt2; bool b1, b2; b1 = DateTime.TryParse(dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString(), out dt1); b2 = DateTime.TryParse(dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString(), out dt2); TimeSpan ts = dt2.Subtract(dt1); dataGridView1.Rows[e.RowIndex].Cells[7].Value = ts.ToString(); ![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Codice:
se v1 > v2 r = (24 - v1) + v2; altrimenti r = v2 - v1;
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Il risultato però non va, mi da valori del tipo: -7356788 (oltre a non permettermi di sottrarre da un numero (sia esso int che double) un tipo datetime)
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() Ultima modifica di RaouL_BennetH : 07-03-2007 alle 16:48. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
E tra l'altro ho fatto le ore di 100 minuti
![]() A te interessano solo ore e minuti o ci sono di mezzo anche i giorni?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
solo ore e minuti
![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Allora potresti prendere ora e minuti dai due DateTime, sottrarli e poi creare un nuovo DateTime. Metti insieme una classettina che te lo faccia senza patemi, tipo:
Codice:
MyTime v1 = new MyTime(dateOne); MyTime v2 = new MyTime(dateTwo); MyTime sub = v2.subtract(v1); DateTime subTime = MyTime.toDateTime();
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Il problema è che non riesco a fargli rappresentare in nessuna maniera la mezzanotte come 24:00:00
![]() Anche facendo la classe, il datetime appena arriva alle '24' porta il valore a '00'.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Boh, per ora ho risolto così:
Codice:
if( tempo1 > tempo2) { TimeSpan partial = (DateTime.Today.AddHours(-24) - tempo1); DateTime total = tempo2.Add(partial); } ....bla....horrorcodingalot.....bla..
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Wow, l'ho ridotto ad una riga:
Codice:
If(tempo1 > tempo2) { TimeSpan ts = temp2.AddHours(24) - tempo1; }
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:11.