我们使用 CSVHelper 上传带有日期列的 CSV 文件,并在开发机器上工作正常,直到我们将以下问题发布到 Azure 中:
An unhandled exception occurred while processing the request. FormatException: String '13/12/2018' was not recognized as a valid DateTime. System.DateTimeParse.Parse(ReadOnlySpan s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
ReaderException: An unexpected error occurred. CsvHelper.Configuration.ConfigurationFunctions.ReadingExceptionOccurred(CsvHelperException exception)
机器使用的是 dd/MM/yyyy 格式的澳大利亚日期。看起来 Azure 设置为美国格式一。我们如何改变这个?或者如何强制将其纳入 .Net 核心代码配置?
我们还发现,即使我们将日期格式更改为 ISO 日期:yyyy-MM-dd ... 再次在开发上正常运行,但在 Azure 生产中却不行?
有什么想法吗?
最佳答案
修改并解决问题:
var csvReader = new CsvReader(reader2);
csvReader.Configuration.CultureInfo = CultureInfo.GetCultureInfo("en-AU");
var records = csvReader.GetRecords<UploadBatchItem>();
关于.net-core - 未识别为有效的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907752/