我正在尝试将日期时间格式从“dd/MM/yyyy”更改为“yyyy-MM-dd”
这就是我现在所拥有的:
DateTime date = Convert.ToDateTime("31/01/2000");
Console.WriteLine(date);
String format = "yyyy-MM-dd";
String dateStr = date.ToString(format);
Console.WriteLine(dateStr);
DateTime parsedDate = DateTime.ParseExact(dateStr, format, CultureInfo.InvariantCulture);
Console.WriteLine(parsedDate);
我得到这些结果:
31/01/2000 12:00:00 AM
2000-01-31
31/01/2000 12:00:00 AM
最终,我希望最后的结果是2000-01-31
编辑:只是为了澄清我的实际目标。我正在使用 SSIS 将 DT_DATE(dd/MM/yyyy) 字段转换为另一个 DT_DATE(yyyy-MM-dd) 字段。所以我想我会使用脚本组件。
这意味着我无法将其转换回字符串。
编辑++答案:
对不起大家,我想我把问题搞混了,但我现在可以自己回答了。
我的目标是将源字段 DT_DATE(dd/MM/yyyy) 转换为 SSIS 中的目标字段 DT_DATE(yyyy-MM-dd) 。
我首先尝试通过使用 (DT_DBDATE) 字段“替换原始字段”来使用派生列。这不起作用,因为它给了我原始来源。
因此,我尝试使用脚本组件,这导致了我问题的顶部部分,以及很多混乱。它根本不起作用。
解决方案是通过“添加新列”并为其提供 (DT_DBDATE) 字段来使用派生列。 DT_DBDATE 的原始格式实际上是 yyyy-MM-dd。