点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我有一个用于伊斯兰日期的代码,但是该代码在Java中,如何将其更改为Groovy?
Java代码:
函数gmod(n,m){ 返回((n%m)+ m)%m; } 功能kuwaiticalendar(adjust){ 今天的var =新的Date(); 如果(调整){ 调整mili = 1000 * 60 * 60 * 24 *调整; todaymili = today.getTime()+ adjustmili; 今天=新日期(todaymili); } 天=今天.getDate(); 月= Today.getMonth(); 年=今天.getFullYear(); m = month + 1; y =年; if(m <3){ y-= 1; m + = 12; } a = Math.floor(y/100。); b = 2-a + Math.floor(a/4。); if(y <1583)b = 0; if(y == 1582){ if(m> 10)b = -10; if(m == 10){ b = 0; if(day> 4)b = -10; } } jd = Math.floor(365.25 *(y + 4716))+ Math.floor(30.6001 *(m + 1))+ day + b-1524; b = 0; 如果(jd> 2299160){ a = Math.floor((jd-1867216.25)/36524.25); b = 1 + a-Math.floor(a/4。); } bb = jd + b + 1524; cc = Math.floor((bb-122.1)/365.25); dd = Math.floor(365.25 * cc); ee = Math.floor((bb-dd)/30.6001); 天=(bb-dd)-Math.floor(30.6001 * ee); month = ee-1; if(ee> 13){ cc + = 1; month = ee-13; } 年= cc-4716; 如果(调整){ wd = gmod(jd + 1-adjust,7)+1; }其他{ wd = gmod(jd + 1,7)+1; } iyear = 10631./30 .; epochastro = 1948084; 时代= 1948085; shift1 = 8.01/60。 z = jd-epochastro; cyc = Math.floor(z/10631。); z = z-10631 * cyc; j = Math.floor((z-shift1)/iyear); iy = 30 * cyc + j; z = z-Math.floor(j * iyear + shift1); im = Math.floor((z + 28.5001)/29.5); if(im == 13)im = 12; id = z-Math.floor(29.5001 * im-29); var myRes = new Array(8); myRes [0] =天; //计算天数(CE) myRes [1] = month-1; //计算月份(CE) myRes [2] =年; //计算年份(CE) myRes [3] = jd-1; //朱利安天数 myRes [4] = wd-1; //工作日号码 myRes [5] = id; //伊斯兰日期 myRes [6] = im-1; //伊斯兰月份 myRes [7] = iy; //伊斯兰年 返回myRes; } 函数writeIslamicDate(adjustment){ var wdNames = new Array(" Ahad"," Ithnin"," Thulatha"," Arbaa"," Khams"," Jumuah"," Sabt"); var iMonthNames = new Array(" Muharram"," Safar"," Rabi'ul Awwal"," Rabi'ul Akhir", " Jumadal Ula"," Jumadal Akhira"," Rajab"," Sha'ban", " Ramadan"," Shawwal"," Dhul Qa'ada"," Dhul Hijja"); var iDate = kuwaiticalendar(adjustment); var outputIslamicDate = wdNames [iDate [4]] +"," + iDate [5] +"" + iMonthNames [iDate [6]] +"" + iDate [7] +" AH"; 返回outputIslamicDate; }
致谢,
桑迪亚
您好Sandhya
您可以在"脚本"步骤中执行JavaScript代码。
如果您在Groovy中需要相同的逻辑,并且这将成为解决方案,您将 保持不变,我认为没有任何方法可以学习一些Groovy。 这是一个坏消息-好消息是这是一种学习的好语言:-)
如果有人为您翻译了代码,那么您基本上只是复制粘贴随机代码,而您并不是 了解,融入您的集成流程。 这不是一个长期的解决方案。
最幸运的是,
Morten
您好,Sandhya ravi
我通常通过指向此博客文章 Eng Swee Yeoh :我* heart * Groovy映射
a>
还可以查看该帖子评论中的链接。
对于您的特定问题,我还将研究内置或外部库函数,它们可以 为您进行转换,而不是从头开始编写代码。 总是比较好。
问候
Morten
嗨桑迪亚!
您看过JodaTime库吗? ?
问候,Evgeniy。
嗨,Evgeniy,
如何在映射中使用它?
致谢,
桑迪亚
一周热门 更多>