我们利用CSVHelper上载带有日期列的CSV文件,并在开发机上正常工作,直到我们向Azure发布以下问题:
处理请求时发生未处理的异常。 FormatException:字符串'13 / 12/2018'被识别为无效 约会时间。 System.DateTimeParse.Parse(ReadOnlySpan s, DateTimeFormatInfo dtfi,DateTimeStyles样式)
ReaderException:发生意外错误。 CsvHelper.Configuration.ConfigurationFunctions.ReadingExceptionOccurred(CsvHelperException 例外)
机器使用的澳大利亚日期为dd / MM / yyyy格式。看起来Azure设置为美国格式之一。我们该如何改变呢?或者如何将其强制为.Net核心代码配置?
我们还发现,即使我们将日期格式更改为ISO日期:yyyy-MM-dd ...仍然可以在开发环境中正常工作,但不在Azure Production中?
有什么想法吗?
答案 0 :(得分:2)
对此进行了修改并解决了问题:
var csvReader = new CsvReader(reader2);
csvReader.Configuration.CultureInfo = CultureInfo.GetCultureInfo("en-AU");
var records = csvReader.GetRecords<UploadBatchItem>();