Hogyan kell Timespan formában hozzáadni listához elemeket egy dokumentumból?
Egy érettségi feladatban egy dokumentumból kéne beolvasni szöveget, számot, időt, viszont a Timespan-nél hibaüzenetet ír ki. String ként be tudja olvasni és alapvetően működik, csak a Timespan-el nem jó
Ha jól látom, akkor az óra több helyen is 24 fölé megy, valószínűleg ez lesz a probléma. Mindenképpen timespan-t kell használni?
Ha igen, akkor először át kell úgy alakítani a stringet, hogy pl. a 26 órát átcsordult 1 nap és 2 órára
Vagy egy egyszerűbb megoldás, ha először kézzel kaprsolod be, átalakítod másodperccé (kézzel), majd a fromSeconds metódussal csinálsz timespan-t
Ha a TimeSpan.Parse három értéket kap és az első érték nagyobb, mint 23, akkor azt napnak tekinti, nem órának. Így a második érték lesz az óra, a harmadik a perc. Ha 28:18:22-t kap, az 28 nap, 18 óra és 22 perc lesz. De a 30:55:14-et nem tudja értelmezni, mert az óra max 23 lehet, nem 55.
Itt le van írva, hogy miért van ez: [link]
Megoldás lehet, amit az első írt, hogy átalakítod másodpercre. Vagy pl. a "30:55:14"-et "1.6:55:14"-re alakítod és úgy parse-olod (1 nap, 6 óra, 55 perc, 14 másodperc).
"Ha jól látom, akkor az óra több helyen is 24 fölé megy, valószínűleg ez lesz a probléma." - Ez egy nagyon okos gondolat
Hogy lehetne a legegyszerűbben megcsinálni? Úgy lehet, hogy beolvasom string ként, a stringet belerakom egy új listába, a :-nál splittelve, azokat átváltom és utána visszarakom timespanként?
Úgy kell igen.
Az adatok[3]-at tovább split-eled :-al.
majd az így kapott három stringet intté konvertálva már tudod hívni a TimeSpan konstruktorát.
Érdekes hogy érettségi előtt már itt tartotok.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!