Sto*_*orm 4 f# datetime .net-core
我正在做Richard Broida的F#课程.在一个讲座中,我应该解析一个CSV文档.除解析日期时间外,一切正常.我的本地文化设置是斯洛伐克语(sk-SK),我正在尝试解析以下日期时间字符串:
9/14/2016 19:31
我已经阅读了CSV文件,发现几个月,几天和几个小时都可以有一个或两个数字.年份总是有4位数,分钟总是有2位数.因此,日期10/7/2016 9:01时间也是有效的.
我创建了一个适配器功能:
let dateTimeParseAdapter format provider date =
DateTime.ParseExact(date, format, provider)
Run Code Online (Sandbox Code Playgroud)
然后打电话
dateTimeParseAdapter "M/d/yyyy h:mm" CultureInfo.InvariantCulture "9/14/2016 19:31"
Run Code Online (Sandbox Code Playgroud)
但我收到一条例外消息说
System.FormatException: String was not recognized as a valid DateTime.
Run Code Online (Sandbox Code Playgroud)
我尝试将格式字符串调整为与单个日期中的位数完全匹配.但是,即使以下代码导致相同的错误消息.
dateTimeParseAdapter "M/dd/yyyy hh:mm" CultureInfo.InvariantCulture "9/14/2016 19:31"
Run Code Online (Sandbox Code Playgroud)
为什么我收到异常消息?我应该更改CultureInfo设置吗?或者是否有预定义的日期时间格式来解析我的日期时间?
使用24小时格式时,您应该使用H(HH)not h hh(12小时格式)模式:
format = @"M/d/yyyy H:mm";
Run Code Online (Sandbox Code Playgroud)