Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如何在X++;?_Date_X++_Axapta - Fatal编程技术网

Date 如何在X++;?

Date 如何在X++;?,date,x++,axapta,Date,X++,Axapta,计算复活节星期日的X++方法?我有点创意,因此您可以使用公共web服务和一点递归,使用GET枚举给定年份的所有假期。随便你玩吧。只需复制/粘贴到作业: static date dateOfEaster(Yr y) { int a = y mod 19; int b = y div 100; int c = y mod 100; int d = b div 4; int e = b mod 4; int f = (b+8) div 25; i

计算复活节星期日的X++方法?

我有点创意,因此您可以使用公共web服务和一点递归,使用GET枚举给定年份的所有假期。随便你玩吧。只需复制/粘贴到作业:

static date dateOfEaster(Yr y)
{
    int a = y mod 19;
    int b = y div 100;
    int c = y mod 100;
    int d = b div 4;
    int e = b mod 4;
    int f = (b+8) div 25;
    int g = (b-f+1) div 3;
    int h = (19*a+b-d-g+15) mod 30;
    int i = c div 4;
    int k = c mod 4;
    int l = (32+2*e+2*i-h-k) mod 7;
    int m = (a+11*h+22*l) div 451;
    int n = (h+l-7*m+114) div 31;
    int p = (h+l-7*m+114) mod 31;
    return mkdate(p+1,n,y);
}
static void HolidayWebService(Args _args)
{
    System.Net.WebClient webClient = new System.Net.WebClient();
    str holidaysAvailable   = "http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx/GetHolidaysAvailable?countryCode=UnitedStates";
    str holidayDate         = "http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx/GetHolidayDate?countryCode=%1&holidayCode=%2&year=%3";
    str retVal              = webClient.DownloadString(holidaysAvailable);


    XMLDocument doc=XMLDocument::newXml(retVal);
    XmlNamedNodemap     attributes;
    XmlElement          root = doc.root();
    XmlNode             node = root.firstChild();


    void getHolidayDate(str _holidayCode, Yr _yr = datetimeutil::year(datetimeutil::utcNow()), str _countryCode = 'UnitedStates')
    {
        System.Net.WebClient webClientInner = new System.Net.WebClient();
        str locRetVal;
        ;

        try
        {

            locRetVal = webClientInner.DownloadString(strfmt(holidayDate, _countryCode, _holidayCode, _yr));

            info(strfmt("[%1] %2", _holidayCode, locRetVal));

        }
        catch
        {
            error(strfmt("Error with %1, %2, %3", _holidayCode, _yr, _countryCode));
            continue;
        }
    }

    void dig(XmlNode _node, int _depth = 0)
    {
        XmlNode sib;
        ;

        if (_node == null)
            return;

        if (_node.hasChildNodes())
            dig(_node.firstChild(), (_depth+1));
        else
        {
            if (_node.parentNode().name() == 'CODE')
                getHolidayDate(_node.innerText());
        }


        sib = _node.nextSibling();

        if (sib)
            dig(sib);
    }
    ;

    dig(node);

}

仅限天主教复活节和公历!不,我13年前在某处找到的旧代码,用于X++。在这里你会发现一个相同的答案:这让我想到,也许在AX中,公共假日餐桌是个好主意。好帖子。今天是星期五!现在,请尝试为我们制作一个计算愚人节的函数——英国4月1日:西班牙12月28日。我只希望他们的网络服务不会下降:)