I'm sure this must be simple, but I can't figure out how to word it correctly in Google...
I have a config which has a field:
TimeToPoll="1d"
Now I want to do something like:
TimeSpan.Parse(TimeToPoll);
Returning a timespan of one day.
In C#
EDIT: I'm looking for a method which allows parse of "1d" as well as "1s" or "1y" etc. Is this possible?
Meaning:
"1d" parses to {1.00:00:00}
"1h" parses to {0.01:00:00}
"1m" parses to {0.00:01:00}
"1s" parses to {0.00:00:01}
This is my resolution:
public static TimeSpan ConvertToTimeSpan(this string timeSpan)
{
var l = timeSpan.Length - 1;
var value = timeSpan.Substring(0, l);
var type = timeSpan.Substring(l, 1);
switch (type)
{
case "d": return TimeSpan.FromDays(double.Parse(value));
case "h": return TimeSpan.FromHours(double.Parse(value));
case "m": return TimeSpan.FromMinutes(double.Parse(value));
case "s": return TimeSpan.FromSeconds(double.Parse(value));
case "f": return TimeSpan.FromMilliseconds(double.Parse(value));
case "z": return TimeSpan.FromTicks(long.Parse(value));
default: return TimeSpan.FromDays(double.Parse(value));
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With