Функтоид сценариев Biztalk - String to DateTime

Мне нужно получить строку, например "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 ответа

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;
}

Вы можете использовать метод DateTime.Parse ( https://msdn.microsoft.com/en-us/library/system.datetime.parse%28v=vs.110%29.aspx) в возвращаемой строке.

Нашел решение. Это не самый красивый, но он работает!

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`
Другие вопросы по тегам