| 785 | return o; |
| 786 | }; |
| 787 | var _fromSolar = function(solar){ |
| 788 | var lunarYear = 0; |
| 789 | var lunarMonth = 0; |
| 790 | var lunarDay = 0; |
| 791 | var ly = LunarYear.fromYear(solar.getYear()); |
| 792 | var lms = ly.getMonths(); |
| 793 | for (var i = 0, j = lms.length; i < j; i++) { |
| 794 | var m = lms[i]; |
| 795 | var days = solar.subtract(Solar.fromJulianDay(m.getFirstJulianDay())); |
| 796 | if (days < m.getDayCount()) { |
| 797 | lunarYear = m.getYear(); |
| 798 | lunarMonth = m.getMonth(); |
| 799 | lunarDay = days + 1; |
| 800 | break; |
| 801 | } |
| 802 | } |
| 803 | return _new(lunarYear, lunarMonth, lunarDay, solar.getHour(), solar.getMinute(), solar.getSecond(), solar, ly); |
| 804 | }; |
| 805 | var _fromDate = function(date){ |
| 806 | return _fromSolar(Solar.fromDate(date)); |
| 807 | }; |