首页 > 解决方案 > 未被识别为有效的日期时间

问题描述

我们使用 CSVHelper 上传带有日期列的 CSV 文件,并且在开发机器上运行良好,直到我们将以下问题发布到 Azure:

处理请求时发生未处理的异常。FormatException:字符串 '13/12/2018' 未被识别为有效的 DateTime。System.DateTimeParse.Parse(ReadOnlySpan s, DateTimeFormatInfo dtfi, DateTimeStyles 样式)

ReaderException:发生意外错误。CsvHelper.Configuration.ConfigurationFunctions.ReadingExceptionOccurred(CsvHelperException 异常)

机器使用的是 dd/MM/yyyy 格式的澳大利亚日期。看起来 Azure 设置为美国格式一。我们如何改变这一点?或者如何强制它进入.Net核心代码配置?

我们还发现,即使我们将日期格式更改为 ISO 日期:yyyy-MM-dd ... 再次在 dev 上运行正常,但在 Azure Production 中却不行?

有任何想法吗?

标签: .net-corecsvhelper

解决方案


对此进行了修改并解决了问题:

var csvReader = new CsvReader(reader2);
csvReader.Configuration.CultureInfo = CultureInfo.GetCultureInfo("en-AU");
var records = csvReader.GetRecords<UploadBatchItem>();

推荐阅读