加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

FLEX 24节气算法

发布时间:2020-12-15 01:38:57 所属栏目:百科 来源:网络整理
导读:使用说明: 主方法为RiliLunarClass4jyecyea.getSoralTerm(); 如: Alert.show(RiliLunarClass4jyecyea.getSoralTerm(2011,3,21)); 则可得到 2011-3-21的节气为"春分"..如果当日不是节气,返回空字符串 调用范例: 循环2011年的所有节气 function addJyecyea(ac:

使用说明: 主方法为RiliLunarClass4jyecyea.getSoralTerm();

如: Alert.show(RiliLunarClass4jyecyea.getSoralTerm(2011,3,21)); 则可得到 2011-3-21的节气为"春分"..如果当日不是节气,返回空字符串

调用范例: 循环2011年的所有节气
function addJyecyea(ac:ArrayCollection):void{
for(var i=1;i<=12;i++)
{
for(var j=1;j<=31;j++)
{
var jc:String= RiliLunarClass4jyecyea.getSoralTerm(2011,i,j);
if(jc!="")
{
//DOING SOMETHING...

}
}

}


}







----------------------------------源码----------

package
{

public class RiliLunarClass4jyecyea
{

public function RiliLunarClass4jyecyea()
{
}

public static var solarTerm:Array = new Array(
"小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏",
"小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分",
"寒露","霜降","立冬","小雪","大雪","冬至");

private static var sTermInfo:Array = new Array(
0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,
240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,
462224,483532,504758);



//===== 某年的第n个节气为几日(从0小寒起算)
private static function sTerm(y:int,n:int):int
{
var offDate:Date = new Date((31556925974.7 * (y - 1900) + sTermInfo[n] * 60000) + Date.UTC(1900,6,2,5));
return (offDate.getUTCDate());
}


/** 核心方法 根据日期(y年m月d日)得到节气 */
public static function getSoralTerm( y:int,m:int,d:int):String {
var solarTerms:String;
if (d == sTerm(y,(m - 1) * 2))
solarTerms = solarTerm[(m - 1) * 2];
else if (d == sTerm(y,(m - 1) * 2 + 1))
solarTerms = solarTerm[(m - 1) * 2 + 1];
else {
// 到这里说明非节气时间
solarTerms = "";
}
return solarTerms;
}
}
}


Powered by Zoundry

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读