Quintiq file version 2.0
|
#parent: #root
|
Method PTF_GetDateTime (
|
String value_i,
|
output String feedback_o
|
) as DateTime id:Method_LibPTF_pnlTestRunner_PTF_GetDateTime
|
{
|
#keys: '[108090.0.815217668]'
|
Body:
|
[*
|
datetime := DateTime::MinDateTime();
|
datetimelength := value_i.Length();
|
|
// Expected format: YYYY-MM-DD or
|
// YYYY-MM-DD hh:mm:ss
|
formatOK := ( datetimelength = 10 and
|
value_i.SubString( 4, 1 ) = "-" and
|
value_i.SubString( 7, 1 ) = "-"
|
) or
|
( datetimelength = 19 and
|
value_i.SubString( 4, 1 ) = "-" and
|
value_i.SubString( 7, 1 ) = "-" and
|
value_i.SubString( 10, 1 ) = " " and
|
value_i.SubString( 13, 1 ) = ":" and
|
value_i.SubString( 16, 1 ) = ":"
|
);
|
|
if( formatOK )
|
{
|
formatString := 'yyyy-MM-dd';
|
|
// DateTime
|
if( datetimelength = 19 )
|
{
|
formatString := formatString + ' HH:mm:ss';
|
}
|
|
stdconverter := StringToDateTime::StandardConverter();
|
stdconverter.CustomFormatString( formatString );
|
|
if( stdconverter.CanConvert( value_i ) )
|
{
|
datetime := stdconverter.Convert( value_i );
|
}
|
else
|
{
|
feedback_o := "Invalid datetime: " + value_i;
|
}
|
}
|
else
|
{
|
feedback_o := "Wrong datetime format: " + value_i + ". Expected format: YYYY-MM-DD or YYYY-MM-DD hh:mm:ss";
|
}
|
|
return datetime;
|
*]
|
}
|