public static Duration?GetNullableTime(string input) { if (input == null) { return(null); } ParseResult <Duration> res = TimePattern.Parse(input); if (res.Success) { return(res.Value); } else { return(null); } }
/// <inheritdoc /> public override object ConvertFromString(string text, IReaderRow row, MemberMapData memberMapData) { if (text == null) { // ReSharper disable once ExpressionIsAlwaysNull - throws an error return(base.ConvertFromString(text, row, memberMapData)); } return(DurationPattern.Parse(text).Value); }
static void Main() { string input = "13:12:34"; DurationPattern pattern = DurationPattern.CreateWithInvariantCulture("H:mm:ss"); // TODO: Consider error handling. The ParseResult<T> returned by // pattern.Parse helps with that. Duration duration = pattern.Parse(input).Value; TimeSpan timeSpan = duration.ToTimeSpan(); Console.WriteLine(timeSpan); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { if (!(value is string)) { return(value); } ParseResult <Duration> result = hm.Parse(value as string); if (!result.Success) { return(value); } return(result.Value); }
static void Main(string[] args) { DurationPattern pattern = DurationPattern.CreateWithInvariantCulture("+hhmm"); TimeSpan timeSpan = pattern.Parse("+0100").Value.ToTimeSpan(); }