Biztalk脚本functoid - 字符串到DateTime

时间:2015-09-21 18:57:39

标签: c# datetime scripting biztalk biztalk-mapper

我需要获取字符串,例如" 2015-09-21 21:49"到DateTime所以我可以将它插入到Oracle DataBase中。我正在使用C#Scripting Functoid。原始FlatFile字符串是" 21092015242149"。

到目前为止这是我的剧本......

public String MyANALYZETIME(string param1)
{    
    param1=param1.Replace("\"","");

    param1=param1.Substring(4,4) + '-' + param1.Substring(2,2) + '-' + param1.Substring(0,2) + ' ' + param1.Substring(10,2) + ':' + param1.Substring(12,2);´   
    return param1;
}

3 个答案:

答案 0 :(得分:1)

public static string DateConversion(string inputDate, string inputDateFormat,string destinationDateFormat)
{
    string strReturn = string.Empty;           
    var formattedDate = DateTime.ParseExact(inputDate, inputDateFormat, System.Globalization.CultureInfo.InvariantCulture);
    strReturn = formattedDate.ToString(destinationDateFormat);              
    return strReturn;
}

答案 1 :(得分:0)

您可以在返回的字符串上使用DateTime.Parse方法(https://msdn.microsoft.com/en-us/library/system.datetime.parse%28v=vs.110%29.aspx)。

答案 2 :(得分:0)

找到解决方案。这不是最漂亮的,但它正在发挥作用!

public string FormatDate(string param1){
param1=param1.Replace("\"","");

param1=param1.Substring(4,4) + '-' + param1.Substring(2,2) + '-' + param1.Substring(0,2) + ' ' + param1.Substring(10,2) + ':' + param1.Substring(12,2);

   System.DateTime strDate;
    if (System.DateTime.TryParseExact(param1, "yyyy-MM-dd HH:mm", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None,out strDate))
    {
        return strDate.ToString("yyyy-MM-ddThh:mm:ss");
    }
    return "INVALID DATE";
}enter code here`