0

amibroker 関数datenum()は、数値で表された日付を含む配列を返します。この配列を同等の文字列に変換する方法は?

日付番号

2000 年以降のみがサポートされていることを除いて、このタスクをほぼ達成するこの関数を以下に示します。2000 年より前の日付をサポートできるように修正するにはどうすればよいですか?

/*
Function changes DateNum ex:1040928 en String ddmmyyyy ex:28/09/2004 ( only > 2000 year )
*/
function sDate( nDate )  
{

    string = StrFormat( "%0.9g", nDate );

    //extract string part
    aa = StrLeft( string, 3 );
    mm = StrMid( string, 3, 2 );
    dd = StrRight( string, 2 );

    //transform year en num
    aa1 = StrToNum( aa ) + 1900; // ONLY CORRECT AFTER 2000
    yyyy = NumToStr( aa1, 1, False );

    result = yyyy + "-" + mm + "-" + dd;
    return result;
}
4

2 に答える 2

1

行を変更

string = StrFormat( "%0.9g", nDate );

string = StrFormat( "%07.07g", nDate );
于 2016-01-02T15:13:02.840 に答える