Comment faire pour convertir le format Date Heure de 'AAAA-MM-JJ' à 'MM / JJ / AAAA HH: MM: SS AM'

J'ai une source de file .csv. J'importe cela dans ssis pour faire quelques changements de manipulation pour générer un file .csv de format spécial. La date provient du file .Csv.

Je suis dans le besoin de convertir le format de date qui est en aaaa-mm-jj à 'MM / JJ / AAAA HH: MM: SS AM' pour certaines colonnes de date. Par exemple: La colonne de saisie du rapport a la date 2017-03-27 doit être convertie au 27/03/2017 HH: MM: SS AM. Comment fait-on ça?

Utilisez un composant de script. En supposant que la colonne de date est une string:

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

Vous pouvez utiliser FORMAT comme ci-dessous

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

Si la colonne Date est une string, vous pouvez utiliser la méthode DateTime.ParseExact dans un composant de script. (en supposant que outDate est la colonne de sortie et inDate est la colonne d'input)

 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).ToSsortingng("MM/dd/yyyy HH:mm:ss"); } 

Pour plus d'informations sur cette méthode, vous pouvez vous référer à ces liens:

  • Méthode DateTime.ParseExact
  • C # DateTime.Parse

Jetez également un coup d'oeil à ma réponse dans le lien suivant, c'est très utile:

  • Conversion de format source SSIS implicite pour la date et l'heure