问题描述
专家! 我有两个类似的Excel文件(xlsm)作为模板。两者都有带有“日期”列的工作表。 使用Excel时,两个文件的可见格式均为“ 10-Aug-20”。 但是,当我使用Microsoft.ACE.OLEDB.12.0和“ IMEX = 1”的Script Component Source和Script Component Source通过SSIS进程读取这些文件时,ta-da ...我看到的有些与预期的一样,但是有些是10.08.2020 00: 00:00 这使我非常痛苦,因为我将同时处理美国(MM / dd / yyyy)和德国(dd.MM.yyyy)日期格式的文件,并且希望使用与语言环境无关的日期格式以相同的方式处理日期。 我该如何强制excel或sis读取正确的日期格式。
关于如何以编程方式查看两个文件的任何建议都是最需要的,并受到高度赞赏!
解决方法
您可以尝试通过使用DateTime.TryParseExact
使用脚本组件(如Transformation)来转换数据。 string dateString = "10-Aug-20";
string format = "dd-MMM-yy";
DateTime dateTime;
if (DateTime.TryParseExact(dateString,format,"en-US",DateTimeStyles.None,out dateTime))//if (DateTime.TryParseExact(dateString,"de-DE",out dateTime))
{
Console.WriteLine(dateTime);
}