/*--- 基本情報 -----------------------------------*/
$MoonTG = 2551392; //-月齢周期 (Sec)
//-- 閏年以外の各月日数 ---
$MonthBaseDateNumG = array(31,28,31,30,31,30,31,31,30,31,30,31);
//-- 閏年の各月日数 ---
$MonthLeapDateNumG = array(31,29,31,30,31,30,31,31,30,31,30,31);
$LeapBaseYearG = 2000; //-閏年の基準年
$DateHourG = 24;
$MinuteG = 60;
$SecG = 60;
//-- アラスカ時差
$AlaskaTimeDifferenceHourG = 18;
$AlaskaTimeDifferenceSecG = $AlaskaTimeDifferenceHour * $DateHour * $Minute * $Sec;
//-- 計算開始年月日(2001/1/1 00:00:00から計算した秒数) 2001/9/3 13:53:00
$BaseYearG = 2001;
$CalcStartBaseDateG = 0;
for($lCnt1=0;$lCnt1<8;$lCnt1++)
{
$BaseNum = $MonthBaseDateNumG[$lCnt1] * $DateHourG * $MinuteG * $SecG;
$CalcStartBaseDateG = $CalcStartBaseDateG + $BaseNum;
}
//$DateBuf = 2 * $DateHourG * $MinuteG * $SecG + 13 * $MinuteG * $SecG + 53 * $SecG + 0;
// 2001/9/3 6:43
//$DateBuf = 2 * $DateHourG * $MinuteG * $SecG + 6 * $MinuteG * $SecG + 43 * $SecG + 0;
// 2001/9/2 6:43
$DateBuf = 1 * $DateHourG * $MinuteG * $SecG + 6 * $MinuteG * $SecG + 43 * $SecG + 0;
$CalcStartBaseDateG = $CalcStartBaseDateG + $DateBuf;
//$CalcStartBaseDate = 21217980 ;
//echo"計算開始年月日(2001/1/1 00:00:00から計算した秒数) 2001/9/3 13:53:00 = $CalcStartBaseDate\n";
/************ ファイル構造 ************************/
//月齢画像ファイルベースパス
$MoonAgePictFileBasePathG = "../img/moon/";
$MoonAgePictFileRealBasePathG = "../img/moon/r_moon/";
$MoonAgeSmallPictFileRealBasePathG = "../img/moon/mini_moon/";
?>
/*************************************************************************
[Function]
GetSecondNumFromBaseDate
[Discription]
指定された日時の(2001/1/1 0:0:0)からの秒数を取得
[引数]
(IN)
1 $year : 西暦年
2 $month : 月
3 $date : 日
4 $hour : 時
5 $minute : 分
6 $sec : 秒
(OUT)
[Gloval]
1 $BaseYearG : 計算開始基準西暦年
[Return]
求められた秒数
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/21 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function GetSecondNumFromBaseDate($year,$month,$date,$hour,$minute,$sec)
{
require ("/home/aukoga/public_html/calc/condition.php3");
/*-- 西暦年が閏年か判別 --*/
$LeapYearBuf1 = $year - $LeapBaseYear;
$LeapYearBuf2 = $LeapYearBuf1 % 4;
if($LeapYearBuf2 == 0)
{
// この年は閏年
}
//-基準年(2001年)からの年差
$BaseYearDifference = $year - $BaseYearG;
$CalcTotalSecNum = 0;
if($BaseYearDifference>=0)
{
//--該当する前年までの計算
for($lCnt1=0;$lCnt1<$BaseYearDifference;$lCnt1++)
{
$YearBuf1 = $BaseYearG + $lCnt1;
$LeapYearFlag = DecideLeapYear($YearBuf1);
if($LeapYearFlag == 1)
{
for($lCnt2=0;$lCnt2<12;$lCnt2++)
{
$BaseSecNum1 = $MonthBaseDateNumG[$lCnt2] *
$DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum1;
}
}
else
{
for($lCnt2=0;$lCnt2<12;$lCnt2++)
{
$BaseSecNum1 = $MonthLeapDateNumG[$lCnt2] *
$DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum1;
}
}
}
//--該当する年の計算
//--閏年チェック
$LeapYearFlag2 = DecideLeapYear($year);
$CalcMonthBuf = $month - 1;
$CalcDateBuf = $date - 1;
//該当する月・日より前までの計算
for($lCnt3=0;$lCnt3<$CalcMonthBuf;$lCnt3++)
{
if($LeapYearFlag2 == 1)
{
$BaseSecNum2 = $MonthBaseDateNumG[$lCnt3]
* $DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum2;
}
else
{
$BaseSecNum2 = $MonthLeapDateNumG[$lCnt3]
* $DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum2;
}
}
//該当する月・日の計算
$BaseSecNum3 = $CalcDateBuf * $DateHourG * $MinuteG * $SecG
+ ($minute * $SecG + $sec);
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum3;
}
//2000以前の場合
else
{
$BaseYearDifferenceMinus = $BaseYearG - $year;
//--該当する前年までの計算
for($lCnt1=0;$lCnt1<$BaseYearDifference;$lCnt1++)
{
$YearBuf1 = $BaseYearG - $lCnt1;
$LeapYearFlag = DecideLeapYear($YearBuf1);
if($LeapYearFlag == 1)
{
for($lCnt2=0;$lCnt2<12;$lCnt2++)
{
$BaseSecNum1 = $MonthBaseDateNumG[$lCnt2] *
$DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum1;
}
}
else
{
for($lCnt2=0;$lCnt2<12;$lCnt2++)
{
$BaseSecNum1 = $MonthLeapDateNumG[$lCnt2] *
$DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum1;
}
}
}
//--該当する年の計算
//--閏年チェック
$LeapYearFlag2 = DecideLeapYear($year);
$CalcMonthBuf = $month - 1;
$CalcDateBuf = $date - 1;
//該当する月・日より前までの計算
for($lCnt3=0;$lCnt3<$CalcMonthBuf;$lCnt3++)
{
if($LeapYearFlag2 == 1)
{
$BaseSecNum2 = $MonthBaseDateNumG[$lCnt3]
* $DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum2;
}
else
{
$BaseSecNum2 = $MonthLeapDateNumG[$lCnt3]
* $DateHourG * $MinuteG * $SecG;
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum2;
}
}
//該当する月・日の計算
$BaseSecNum3 = $CalcDateBuf * $DateHourG * $MinuteG * $SecG
+ ($minute * $SecG + $sec);
$CalcTotalSecNum = $CalcTotalSecNum + $BaseSecNum3;
}
return $CalcTotalSecNum;
}
/*************************************************************************
[Function]
DecideLeapYear
[Discription]
西暦年が閏年か判別
(1) 西暦年数が100の倍数以外の年については、4の倍数の年が閏年
(2) 西暦年数が100の倍数のとき、400の倍数の年だけ閏年とする
[引数]
(IN)
1 $year : 入力された西暦年
(OUT)
[Return]
0 : 閏年
1 : 閏年ではない
[Gloval]
1 $LeapBaseYearG : 閏年の基準年
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/21 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function DecideLeapYear($year)
{
$Buf1 = $year % 100;
// 100の倍数のとき
if($Buf1 == 0)
{
$Buf2 = $year % 400;
if($Buf2 == 0)
{
return 0;
}
return 1;
}
else
{
$Buf3 = $year % 4;
if($Buf3 == 0)
{
return 0;
}
return 1;
}
return 1;
}
/*************************************************************************
[Function]
DecideMoonAgePictureReal
[Discription]
月齢の月画像を選択する
(1)パーセントを32分割する
[引数]
(IN)
1 $InMoonAgeNum : 計算された月齢比率
(OUT)
[Return]
$MoonAgePictFile
[Gloval]
$MoonAgePictFileBasePathG : 月齢画像ファイルベースパス
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/21 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function DecideMoonAgePictureReal($InMoonAgeNum)
{
require('/home/aukoga/public_html/calc/condition.php3');
//--1ステップが 0.03125
$Step = 0.03125;
$lCnt2 = 0;
for($lCnt1=0;$lCnt1<1;$lCnt1=$lCnt1 + $Step)
{
$DecideSt[$lCnt2] = $lCnt2 * $Step;
$DecideEn[$lCnt2] = $lCnt2 * $Step + $Step;
if(($InMoonAgeNum>=$DecideSt[$lCnt2])&&($InMoonAgeNum<$DecideEn[$lCnt2]))
{
$MoonAgePictFile = $MoonAgePictFileRealBasePathG . "m-".$lCnt2.".gif";
}
$lCnt2++;
}
return $MoonAgePictFile;
}
/*************************************************************************
[Function]
DecideMoonAgePictureMini
[Discription]
月齢の月画像を選択する(月の画像が小さいバージョン)
(1)パーセントを32分割する
[引数]
(IN)
1 $InMoonAgeNum : 計算された月齢比率
(OUT)
[Return]
$MoonAgePictFile
[Gloval]
$MoonAgeSmallPictFileBasePathG : 月齢画像ファイルベースパス
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/21 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function DecideMoonAgePictureMini($InMoonAgeNum)
{
require('/home/aukoga/public_html/calc/condition.php3');
//--1ステップが 0.03125
$Step = 0.03125;
$lCnt2 = 0;
for($lCnt1=0;$lCnt1<1;$lCnt1=$lCnt1 + $Step)
{
$DecideSt[$lCnt2] = $lCnt2 * $Step;
$DecideEn[$lCnt2] = $lCnt2 * $Step + $Step;
if(($InMoonAgeNum>=$DecideSt[$lCnt2])&&($InMoonAgeNum<$DecideEn[$lCnt2]))
{
$MoonAgePictFile = $MoonAgeSmallPictFileRealBasePathG . "m-".$lCnt2.".gif";
}
$lCnt2++;
}
return $MoonAgePictFile;
}
/*************************************************************************
[Function]
DecideMoonAgePictureMini2
[Discription]
月齢の月画像を選択する(月の画像が小さいバージョン)
(1)パーセントを32分割する
[引数]
(IN)
1 $InMoonAgeNum : 計算された月齢比率
(OUT)
[Return]
$MoonAgePictFile
[Gloval]
$MoonAgeSmallPictFileBasePathG : 月齢画像ファイルベースパス
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/21 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function DecideMoonAgePictureMini2($InMoonAgeNum)
{
require('/home/aukoga/public_html/calc/condition.php3');
//--1ステップが 0.03125
$Step = 0.03125;
$lCnt2 = 0;
for($lCnt1=0;$lCnt1<1;$lCnt1=$lCnt1 + $Step)
{
$DecideSt[$lCnt2] = $lCnt2 * $Step;
$DecideEn[$lCnt2] = $lCnt2 * $Step + $Step;
if(($InMoonAgeNum>=$DecideSt[$lCnt2])&&($InMoonAgeNum<$DecideEn[$lCnt2]))
{
$MoonAgePictFile = "../img/moon/mini_moon/" . "m-".$lCnt2.".gif";
}
$lCnt2++;
}
return $MoonAgePictFile;
}
/*************************************************************************
[Function]
DecideMoonAgePicture
[Discription]
月齢の月画像を選択する
(1)パーセントを20分割する
[引数]
(IN)
1 $InMoonAgeNum : 計算された月齢比率
(OUT)
[Return]
$MoonAgePictFile
[Gloval]
$MoonAgePictFileBasePathG : 月齢画像ファイルベースパス
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/21 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function DecideMoonAgePicture($InMoonAgeNum)
{
require('/home/aukoga/public_html/calc/condition.php3');
if(($InMoonAgeNum >=0)&&($InMoonAgeNum<0.025))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-0.gif";
}
else if(($InMoonAgeNum >= 0.025)&&($InMoonAgeNum<0.075))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-1.gif";
}
else if(($InMoonAgeNum >= 0.075)&&($InMoonAgeNum<0.125))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-2.gif";
}
else if(($InMoonAgeNum >= 0.125)&&($InMoonAgeNum<0.175))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-3.gif";
}
else if(($InMoonAgeNum >= 0.175)&&($InMoonAgeNum<0.225))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-4.gif";
}
else if(($InMoonAgeNum >= 0.225)&&($InMoonAgeNum<0.275))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-5.gif";
}
else if(($InMoonAgeNum >= 0.275)&&($InMoonAgeNum<0.325))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-6.gif";
}
else if(($InMoonAgeNum >= 0.325)&&($InMoonAgeNum<0.375))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-7.gif";
}
else if(($InMoonAgeNum >= 0.375)&&($InMoonAgeNum<0.425))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-8.gif";
}
else if(($InMoonAgeNum >= 0.425)&&($InMoonAgeNum<0.475))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-9.gif";
}
else if(($InMoonAgeNum >= 0.475)&&($InMoonAgeNum<0.525))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-10.gif";
}
else if(($InMoonAgeNum >= 0.525)&&($InMoonAgeNum<0.575))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-11.gif";
}
else if(($InMoonAgeNum >= 0.575)&&($InMoonAgeNum<0.625))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-12.gif";
}
else if(($InMoonAgeNum >= 0.625)&&($InMoonAgeNum<0.675))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-13.gif";
}
else if(($InMoonAgeNum >= 0.675)&&($InMoonAgeNum<0.725))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-14.gif";
}
else if(($InMoonAgeNum >= 0.725)&&($InMoonAgeNum<0.775))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-15.gif";
}
else if(($InMoonAgeNum >= 0.775)&&($InMoonAgeNum<0.825))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-16.gif";
}
else if(($InMoonAgeNum >= 0.825)&&($InMoonAgeNum<0.875))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-17.gif";
}
else if(($InMoonAgeNum >= 0.875)&&($InMoonAgeNum<0.925))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-18.gif";
}
else if(($InMoonAgeNum >= 0.925)&&($InMoonAgeNum<0.975))
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-19.gif";
}
else
{
$MoonAgePictFile = $MoonAgePictFileBasePathG . "m-0.gif";
}
return $MoonAgePictFile;
}
/*************************************************************************
[Function]
DecideDateForece
[Discription]
指定された日が、正常な値か判別し、正常な日に修正する。
(1) 指定された月にない日が入力された場合は、翌月の1日に修正する
[引数]
(IN)
1 $InDate : 入力された日
2 $InMonth : 入力された月
3 $InYear : 入力された年
(OUT)
1 &$OutYear : 修正された年
2 &$OutMonth : 修正された月
2 &$OutDate : 修正された日
[Return]
0 : 正常終了
[Gloval]
1 $MonthBaseDateNumG
2 $MonthLeapDateNumG
Rev 1.0.1 Yuzo Koga(U-ZO) 2001/8/22 Original
Copyright(C) 2001 Yuzo Koga
*************************************************************************/
function DecideDateForece($InDate,$InMonth,$InYear,
&$OutYear,&$OutMonth,&$OutDate)
{
require ('/home/aukoga/public_html/calc/condition.php3');
$LeapFlag1 = DecideLeapYear($InYear);
$InMonthBuf = $InMonth - 1;
if($LeapFlag1 == 1)
{
$ReadMonthDateMaxNum = $MonthBaseDateNumG[$InMonthBuf];
if($InDate > $ReadMonthDateMaxNum)
{
if($InMonth == 12)
{
$OutYear = $InYear + 1;
$OutMonth = 1;
$OutDate = 1;
return 0;
}
else
{
$OutYear = $InYear;
$OutMonth = $InMonth + 1;
$OutDate = 1;
return 0;
}
}
else
{
$OutYear = $InYear;
$OutMonth = $InMonth;
$OutDate = $InDate;
return 0;
}
}
else
{
$ReadMonthDateMaxNum = $MonthLeapDateNumG[$InMonthBuf];
if($InDate > $ReadMonthDateMaxNum)
{
if($InMonth == 12)
{
$OutYear = $InYear + 1;
$OutMonth = 1;
$OutDate = 1;
return 0;
}
else
{
$OutYear = $InYear;
$OutMonth = $InMonth + 1;
$OutDate = 1;
return 0;
}
}
else
{
$OutYear = $InYear;
$OutMonth = $InMonth;
$OutDate = $InDate;
return 0;
}
}
}
?>
オーロラが空に浮かぶ世界 ---- 遊造
★★ フェアバンクス ★★ 2023/3/19〜5日間のデータ |
  |
|
|
|