@@ -45,8 +45,8 @@ static function fromYmdHms(int $year, int $month, int $day, int $hour, int $minu
4545 $ year --;
4646 }
4747 if ($ g ) {
48- $ n = intdiv ( $ year, 100 );
49- $ n = 2 - $ n + intdiv ( $ n , 4 );
48+ $ n = ( int )( $ year * 0.01 );
49+ $ n = 2 - $ n + ( int )( $ n * 0.25 );
5050 }
5151 return static ::fromJulianDay ((int )(365.25 * ($ year + 4716 )) + (int )(30.6001 * ($ month + 1 )) + $ d + $ n - 1524.5 );
5252 }
@@ -88,26 +88,26 @@ function getSolarDay(): SolarDay
8888 */
8989 function getSolarTime (): SolarTime
9090 {
91- $ d = (int )($ this ->day + 0.5 );
92- $ f = $ this ->day + 0.5 - $ d ;
91+ $ n = (int )($ this ->day + 0.5 );
92+ $ f = $ this ->day + 0.5 - $ n ;
9393
94- if ($ d >= 2299161 ) {
95- $ c = (int )(($ d - 1867216.25 ) / 36524.25 );
96- $ d += 1 + $ c - intdiv ($ c , 4 );
94+ if ($ n >= 2299161 ) {
95+ $ c = (int )(($ n - 1867216.25 ) / 36524.25 );
96+ $ n += 1 + $ c - intdiv ($ c , 4 );
9797 }
98- $ d += 1524 ;
99- $ year = (int )(($ d - 122.1 ) / 365.25 );
100- $ d -= (int )(365.25 * $ year );
101- $ month = (int )($ d / 30.601 );
102- $ d -= (int )(30.601 * $ month );
103- $ day = $ d ;
104- if ($ month > 13 ) {
105- $ month -= 12 ;
98+ $ n += 1524 ;
99+ $ y = (int )(($ n - 122.1 ) / 365.25 );
100+ $ n -= (int )(365.25 * $ y );
101+ $ m = (int )($ n / 30.601 );
102+ $ n -= (int )(30.601 * $ m );
103+ $ d = $ n ;
104+ if ($ m > 13 ) {
105+ $ m -= 12 ;
106106 } else {
107- $ year -= 1 ;
107+ $ y -= 1 ;
108108 }
109- $ month -= 1 ;
110- $ year -= 4715 ;
109+ $ m -= 1 ;
110+ $ y -= 4715 ;
111111 $ f *= 24 ;
112112 $ hour = (int )$ f ;
113113
@@ -118,7 +118,7 @@ function getSolarTime(): SolarTime
118118 $ f -= $ minute ;
119119 $ f *= 60 ;
120120 $ second = (int )round ($ f );
121- return $ second < 60 ? SolarTime::fromYmdHms ($ year , $ month , $ day , $ hour , $ minute , $ second ) : SolarTime::fromYmdHms ($ year , $ month , $ day , $ hour , $ minute , $ second - 60 )->next (60 );
121+ return $ second < 60 ? SolarTime::fromYmdHms ($ y , $ m , $ d , $ hour , $ minute , $ second ) : SolarTime::fromYmdHms ($ y , $ m , $ d , $ hour , $ minute , $ second - 60 )->next (60 );
122122 }
123123
124124 /**
0 commit comments