Is there a way one can represent a time only value in .NET without the date? For example, indicating the opening time of a shop?
TimeSpan
indicates a range, whereas I only want to store a time value. Using DateTime
to indicate this would result in new DateTime(1,1,1,8,30,0)
which is not really desirable.
You can use timespan
TimeSpan timeSpan = new TimeSpan(2, 14, 18);
Console.WriteLine(timeSpan.ToString()); // Displays "02:14:18".
[Edit]
Considering the other answers and the edit to the question, I would still use TimeSpan. No point in creating a new structure where an existing one from the framework suffice.
On these lines you would end up duplicating many native data types.