如何将日期时间格式从'YYYY-MM-DD'转换为'MM / DD / YYYY HH:MM:SS AM'

时间:2017-03-28 18:00:05

标签: sql-server date datetime ssis

我有.csv文件来源。我将其导入ssis以进行一些更改操作以生成特殊格式的.csv文件。日期来自.Csv文件。

我需要将yyyy-mm-dd的日期格式转换为特定日期列的'MM / DD / YYYY HH:MM:SS AM'。例如:报告输入栏的日期2017-03-27需要转换为03/27/2017 HH:MM:SS AM。我该怎么做?

3 个答案:

答案 0 :(得分:2)

您可以使用以下格式

    select format(getdate(), 'dd/MM/yyyy hh:mm:ss tt')
Select convert(datetime,'your date',103)

答案 1 :(得分:2)

使用脚本组件。假设date列是一个字符串:

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    Row.date = Convert.ToDateTime(Row.date).ToString("MM/dd/yyyy hh:mm:ss");
}

答案 2 :(得分:2)

如果Date列是一个字符串,则可以在脚本组件中使用DateTime.ParseExact方法。 (假设outDate是输出列,inDate是输入列)

using System;
using System.Globalization;


CultureInfo provider = CultureInfo.InvariantCulture;

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    Row.outDate = DateTime.ParseExact(Row.inDate,"yyyy-MM-dd",provider).ToString("MM/dd/yyyy HH:mm:ss");
}

有关此方法的更多信息,请参阅以下链接:

另请参阅以下链接中的答案,这非常有用: