Date 如何在X++;?
计算复活节星期日的X++方法?我有点创意,因此您可以使用公共web服务和一点递归,使用GET枚举给定年份的所有假期。随便你玩吧。只需复制/粘贴到作业: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
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日。我只希望他们的网络服务不会下降:)