{"id":2886,"date":"2019-11-18T16:27:26","date_gmt":"2019-11-18T15:27:26","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=2886"},"modified":"2023-09-16T10:00:43","modified_gmt":"2023-09-16T09:00:43","slug":"c-get-datetime-from-input","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/c-get-datetime-from-input\/","title":{"rendered":"C# Get DateTime from input"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public static DateTime? GetDateTimeFromInput(string dateTimeStr) {\n\tif (string.IsNullOrWhiteSpace(dateTimeStr))\n\t\treturn null;\n\tif (DateTime.TryParse(dateTimeStr, out var dateTime)) \n\t\treturn dateTime;\n\treturn null;\n}<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public static bool GetBoolFromInput(string input, bool def = false)\n{\n\tif (string.IsNullOrWhiteSpace(input))\n\t\treturn def;\n\tif (bool.TryParse(input.Trim(), out var res))\n\t\treturn res;\n\treturn def;\n}<\/pre>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"csharp\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">public static IEnumerable&lt;int> GetNumberMatches(string s) => Regex.Matches(s, @\"\\d+\").Select(m => int.TryParse(m.Value, out var i) ? i : 0);\n\npublic static DateTime? GetDateFromNumbers(string s) {\n    var numbers = GetNumberMatches(s).ToList();\n    if (numbers.Count &lt; 3) return null;\n    var y = numbers.ElementAtOrDefault(0);\n    var m = numbers.ElementAtOrDefault(1);\n    var d = numbers.ElementAtOrDefault(2);\n    if (y == 0 || m == 0 || d == 0) return null;\n    var h = numbers.ElementAtOrDefault(3);\n    var min = numbers.ElementAtOrDefault(4);\n    var sec = numbers.ElementAtOrDefault(5);\n    return new DateTime(y,m,d,h,min,sec);\n}\n\npublic static DateTime? DateFromString(string? s)\n{\n    if (s == null) return null;\n    if (DateTime.TryParse(s, out var d)) return  d;\n    return GetDateFromNumbers(s);\n}<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[6,4,1],"tags":[],"class_list":["post-2886","post","type-post","status-publish","format-standard","hentry","category-dotnet","category-programming","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=2886"}],"version-history":[{"count":3,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2886\/revisions"}],"predecessor-version":[{"id":8028,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2886\/revisions\/8028"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=2886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=2886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=2886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}