Kezdőoldal » Számítástechnika » Programozás » Hogyan kellene timespan-be...

Hogyan kellene timespan-be parseolnom (c#)?

Figyelt kérdés

Van egy string amit ; alapján splittelve az egyik adattag egy idő les amiben :-kal vannak elválasztva hogy e óra,perc vagy másodperc. Ezt úgy akartam beolvasni, hogy TimeSpan ido=timespan.parse(Adat[3]), amire compiler hibát nem dobott, hanem helyette runtime error nem kezelt kivétel , túl sok számjegy miatt. Megpróbáltam a string format-ot hogy @"hh\:mm\:ss", de így se lett jó. Ezen felül még a Cultureinfo-val is próbáltam. Tehát kérdés: mindenképp muszáj külön splittelnem : által intekbe és így berakni TimeSpanba vagy van valami más megoldás


[link]


Acsadi Lajos;1;30:28:42;100


2020. ápr. 9. 00:08
 1/6 A kérdező kommentje:
System.OverflowException: 'The TimeSpan string '30:28:42' could not be parsed because at least one of the numeric components is out of range or contains too many digits.'
2020. ápr. 9. 00:09
 2/6 anonim ***** válasza:

30:28:42 -> ilyen timespan nincs, hiszen timespanben is max 24 óra egy nap.

Helyesen: 1.06:28:42, tehát 1 nap, 6 óra, 28 perc és 42 másodperc.

2020. ápr. 9. 09:07
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:
Igen ezt értem, csak nekem az érték pont hogy óra perc másodperc, amivel már lehetségesek lennének ezek a számok. Vagy akkor inkább DateTime-ot használjak?
2020. ápr. 9. 10:03
 4/6 A kérdező kommentje:
ooh semmi. bocsi nem szóltam. Visont akkor meg lehet oldani, hogy helyesen kerüljön be a adat pl még akkor tied másodperccel kiegészítve?
2020. ápr. 9. 10:06
 5/6 anonim ***** válasza:

string time = "30:28:42";

string[] hms = time.Split(':');

TimeSpan ts = TimeSpan.FromHours(double.Parse(hms[0]));

ts = ts.Add(TimeSpan.FromMinutes(double.Parse(hms[1])));

ts = ts.Add(TimeSpan.FromSeconds(double.Parse(hms[2])));

2020. ápr. 9. 14:30
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Köszönöm, már sikerült megoldanom :) (Egy fgv-t használtam amibe bekértem a stringet és ha a tryparse sikertelen akkor : -ok által felsplittelem, ahol a tömb 0. elemét elosztom 24-gyel és eután ezek alapján számolom ki a többi adatot)
2020. ápr. 9. 17:34

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!