国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

陰歷陽(yáng)歷的相互轉(zhuǎn)換(支持1900~2100年)

geekzhou / 3547人閱讀

摘要:背景最近做到一個(gè)項(xiàng)目需要陰歷與陽(yáng)歷的相互轉(zhuǎn)換網(wǎng)上找了很多資料發(fā)現(xiàn)很多都是不準(zhǔn)的但是給了我參考價(jià)值算法借用百度百科的陽(yáng)歷太陽(yáng)歷又稱為陽(yáng)歷,是以地球繞太陽(yáng)公轉(zhuǎn)的運(yùn)動(dòng)周期為基礎(chǔ)而制定的歷法。

背景

最近做到一個(gè)項(xiàng)目, 需要陰歷與陽(yáng)歷的相互轉(zhuǎn)換, 網(wǎng)上找了很多資料, 發(fā)現(xiàn)很多都是不準(zhǔn)的, 但是給了我參考價(jià)值

算法

借用百度百科的 :

陽(yáng)歷

太陽(yáng)歷又稱為陽(yáng)歷,是以地球繞太陽(yáng)公轉(zhuǎn)的運(yùn)動(dòng)周期為基礎(chǔ)而制定的歷法。
太陽(yáng)歷的歷年近似等于回歸年,一年12個(gè)月,這個(gè)“月”,實(shí)際上與朔望月無(wú)關(guān)。
陽(yáng)歷的月份、日期都與太陽(yáng)在黃道上的位置較好地符合,根據(jù)陽(yáng)歷的日期,在一年中可以明顯看出四季寒暖變化的情況;但在每個(gè)月份中,看不出月亮的朔、望、兩弦。
如今世界通行的公歷就是一種陽(yáng)歷,平年365天,閏年366天,每四年一閏,每滿百年少閏一次,到第四百年再閏,即每四百年中有97個(gè)閏年。公歷的歷年平均長(zhǎng)度與回歸年只有26秒之差,要累積3300年才差一日。

陰歷

希吉來(lái)歷系太陰歷,其計(jì)算方法是: 以太陰圓缺一周為一月,歷時(shí)29日12小時(shí)44分2.8秒,太陰圓缺十二周為一年,歷時(shí)354日8小時(shí)48分33.6秒。每一年的12個(gè)月中,6個(gè)單數(shù)月份(即1、3、5、7、9、11月)為“大建”,每月為30天; 6個(gè)雙數(shù)月份(2、4、6、8、10、12月)為“小建”,每月為29天;在逢閏之年,將12月改大月為30天。該歷以30年為一周期,每一周期里的第2、5、7、10、13、16、18、21、24、26、29年,共11年為閏年, 不設(shè)置閏月,而在12月末置一閏日,閏年為355日,另19年為平年,每年354日。故平均每年為354日8小時(shí)48分。按該歷全年實(shí)際天數(shù)計(jì)算,比回歸年約少10日21小時(shí)1分,積2.7回歸年相差一月,積32.6回歸年相差一年。該歷對(duì)晝夜的計(jì)算,以日落為一天之始,到次日日落為一日,通常稱為夜行前,即黑夜在前,白晝?cè)诤螅瑯?gòu)成一天。希吉來(lái)歷每年9月(萊麥丹)為伊斯蘭教齋戒之月, 對(duì)這個(gè)月的起訖除了計(jì)算之外,還要由觀察新月是否出現(xiàn)來(lái)決定。 即在8月29日這天進(jìn)行觀測(cè),如見(jiàn)新月,第二日即為9月1日,黎明前開(kāi)始齋戒,8月仍為小建; 如不見(jiàn)新月,第三日則為9月1日,8月即變?yōu)椤按蠼ā薄5搅?月29日傍晚,也需要看月,如見(jiàn)新月,第二天就是10月1日,即為開(kāi)齋節(jié)日,使9月變成“小建”;如未見(jiàn)新月,齋戒必須再延一天,9月即為“大建”。 12月(祖勒·希哲)上旬為朝覲日期,12月10日為宰牲節(jié)日。該歷的星期,使用七曜(日、月、火、水、木、金、土)記日的周日法。每周逢金曜為“主麻日”,穆斯林在這一天舉行“聚禮”。

思路

借用: https://blog.csdn.net/hsd2012... 這里的解釋: 要想計(jì)算給定的時(shí)間對(duì)于的農(nóng)歷是哪一天,我們需要找一個(gè)參考時(shí)間,然后以該參考時(shí)間計(jì)算以后的時(shí)間。首先計(jì)算當(dāng)前時(shí)間與參考時(shí)間相差的天數(shù),然后通過(guò)求出農(nóng)歷每年的天數(shù),計(jì)算當(dāng)前時(shí)間對(duì)應(yīng)的是哪一年的第幾天,最后計(jì)算出屬于那個(gè)月的哪一個(gè)日期。

計(jì)算生肖屬相

目前的做法是 陰歷年份 - 1900 + 36 然后除以 12 取余數(shù), 得出生肖屬相的序號(hào), 至于為啥這么計(jì)算, 我是沒(méi)搞懂, 網(wǎng)上也搜了很多也沒(méi)說(shuō)清楚, 這里參考文章: https://juejin.im/entry/59904...

</>復(fù)制代碼

  1. private function yearShengXiao($lunarYear)
  2. {
  3. // TODO 至于為什么這樣弄, 我也沒(méi)搞清楚
  4. return self::SHENG_XIAO[($lunarYear - self::MIN_YEAR + 36) % 12]; // 年的屬相
  5. }
年的干支算法

網(wǎng)上搜到的做法是用公元年來(lái)計(jì)算, 但是不對(duì), 然后我換成陰歷年居然就跟百度的日歷能對(duì)上了, 這個(gè)我也沒(méi)弄清楚, 但是能算出來(lái)了, 公式: 年數(shù)先減三,除10余數(shù)是天干,基數(shù)改用12除,余數(shù)便是地支年 (如果余數(shù)為 0 ,則取最大序號(hào))

</>復(fù)制代碼

  1. private function yearGanZhi($lunarYear)
  2. {
  3. // 年數(shù)先減三,除10余數(shù)是天干,基數(shù)改用12除,余數(shù)便是地支年 (如果余數(shù)為 0 ,則取最大序號(hào))
  4. $yJiShu = $lunarYear - 3;
  5. $yTianGan = ($yJiShu % 10 == 0) ? 10 : $yJiShu % 10;
  6. $yDiZhi = ($yJiShu % 12 == 0) ? 10 : $yJiShu % 12;
  7. $yGanZhi = self::TIAN_GAN[$yTianGan - 1] . self::DI_ZHI[$yDiZhi - 1]; // // 由于是從 0 開(kāi)始,這里再減一
  8. return $yGanZhi;
  9. }
月的干支算法

網(wǎng)上搜索了, 沒(méi)找到好的實(shí)現(xiàn)方式, 麻煩知道的在這里說(shuō)一下,

日的干支算法

網(wǎng)上搜到的:

</>復(fù)制代碼

  1. G = 4C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d - 3
  2. Z = 8C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d + 7 + i
  3. 其中C 是世紀(jì)數(shù)減一,y 是年份后兩位,M 是月份,d 是日數(shù)。1月和2月按上一年的13月和14月來(lái)算。奇數(shù)月i=0,偶數(shù)月i=6。G 除以10的余數(shù)是天干,Z 除以12的余數(shù)是地支。

但是不對(duì), 麻煩有懂也告知下

PHP 的實(shí)現(xiàn)完整代碼

</>復(fù)制代碼

  1. format("Y");
  2. $lunarMonth = $dateTime->format("n");
  3. $lunarDay = $dateTime->format("j");
  4. // 檢查是否合法
  5. if (!$this->checkLunarDate($lunarYear, $lunarMonth, $lunarDay, $leapMonthFlag)) {
  6. return "";
  7. }
  8. $offset = 0;
  9. for ($i = self::MIN_YEAR; $i < $lunarYear; $i++) {
  10. $yearDaysCount = $this->getYearDays($i); // 求陰歷某年天數(shù)
  11. $offset += $yearDaysCount;
  12. }
  13. //計(jì)算該年閏幾月
  14. $leapMonth = $this->getLeapMonth($lunarYear);
  15. if ($leapMonthFlag && $leapMonth != $lunarMonth) {
  16. // 您輸入的閏月標(biāo)志有誤
  17. return "";
  18. }
  19. if ($leapMonth == 0 || ($lunarMonth < $leapMonth) || ($lunarMonth == $leapMonth && !$leapMonthFlag)) {
  20. for ($i = 1; $i < $lunarMonth; $i++) {
  21. $tempMonthDaysCount = $this->getMonthDays($lunarYear, $i);
  22. $offset += $tempMonthDaysCount;
  23. }
  24. // 檢查日期是否大于最大天
  25. if ($lunarDay > $this->getMonthDays($lunarYear, $lunarMonth)) {
  26. // 不合法的農(nóng)歷日期
  27. return "";
  28. }
  29. $offset += intval($lunarDay); // 加上當(dāng)月的天數(shù)
  30. } else { //當(dāng)年有閏月,且月份晚于或等于閏月
  31. for ($i = 1; $i < $lunarMonth; $i++) {
  32. $tempMonthDaysCount = $this->getMonthDays($lunarYear, $i);
  33. $offset += $tempMonthDaysCount;
  34. }
  35. if ($lunarMonth > $leapMonth) {
  36. $temp = $this->getLeapMonthDays($lunarYear); // 計(jì)算閏月天數(shù)
  37. $offset += $temp; // 加上閏月天數(shù)
  38. if ($lunarDay > $this->getMonthDays($lunarYear, $lunarMonth)) {
  39. // 不合法的農(nóng)歷日期
  40. return "";
  41. }
  42. $offset += intval($lunarDay);
  43. } else { // 如果需要計(jì)算的是閏月,則應(yīng)首先加上與閏月對(duì)應(yīng)的普通月的天數(shù)
  44. // 計(jì)算月為閏月
  45. $temp = $this->getMonthDays($lunarYear, $lunarMonth); // 計(jì)算非閏月天數(shù)
  46. $offset += $temp;
  47. if ($lunarDay > $this->getLeapMonthDays($lunarYear)) {
  48. // 不合法的農(nóng)歷日期
  49. return "";
  50. }
  51. $offset += intval($lunarDay);
  52. }
  53. }
  54. try {
  55. $newDateTime = new DateTime(self::START_DATE_STR);
  56. } catch (Exception $exception) {
  57. return "";
  58. }
  59. $sumH = 24 * $offset;
  60. $newDateTime->add(new DateInterval("PT" . $sumH . "H"));
  61. return $newDateTime->format("Y-m-d");
  62. }
  63. /**
  64. * 把陽(yáng)歷轉(zhuǎn)換為中文的陰歷
  65. * @param string $date
  66. * @return string
  67. */
  68. public function solarToChineseLunar($date)
  69. {
  70. $dateTime = new DateTime($date);
  71. list($lunarYear, $lunarMonth, $lunarDay, $leapMonth, $leapMonthFlag) = $this->calculateLunar($dateTime);
  72. $result = "";
  73. if($leapMonthFlag && $lunarMonth == $leapMonth){
  74. $result .= "閏";
  75. }
  76. $solarYear = (int)$dateTime->format("Y");
  77. $solarMoth = (int)$dateTime->format("n");
  78. $solarDay = (int)$dateTime->format("j");
  79. $result .= self::CHINESE_NUMBER_SPECIAL[$lunarMonth-1] . "月";
  80. $result .= $this->chineseDayString($lunarDay) . "日";
  81. // 年的天干地支
  82. $yGanZhi = $this->yearGanZhi($lunarYear);
  83. // 生肖屬相
  84. $yShengXiao = $this->yearShengXiao($lunarYear);
  85. $result .= "," . $yGanZhi . "年 [" . $yShengXiao . "年]";
  86. // 月的天干地支
  87. $mTianGanDiZhi = $this->mothGanZhi($solarYear, $solarMoth, $solarDay);
  88. $result .= "," . $mTianGanDiZhi . "月";
  89. // 日的天干地支
  90. $dTianGanDiZhi = $this->dayGanZhi($solarYear, $solarMoth, $solarDay);
  91. $result .= "," . $dTianGanDiZhi . "日";
  92. return $result;
  93. }
  94. /**
  95. * 陽(yáng)歷轉(zhuǎn)換為簡(jiǎn)單的中文陰歷
  96. * @param string $date
  97. * @return string
  98. */
  99. public function solarToSimpleLunar($date)
  100. {
  101. $dateTime = new DateTime($date);
  102. list($lunarYear, $lunarMonth, $lunarDay, $leapMonth, $leapMonthFlag) = $this->calculateLunar($dateTime);
  103. $result = $lunarYear . "年";
  104. if($leapMonthFlag && $lunarMonth == $leapMonth) {
  105. $result .= "閏";
  106. }
  107. if($lunarMonth < 10){
  108. $result .= "0" . $lunarMonth . "月";
  109. } else {
  110. $result .= $lunarMonth . "月";
  111. }
  112. if($lunarDay < 10){
  113. $result .= "0" . $lunarDay . "日";
  114. } else {
  115. $result .= $lunarDay . "日";
  116. }
  117. return $result;
  118. }
  119. /**
  120. * 陽(yáng)歷轉(zhuǎn)為正常的陰歷
  121. * @param string $date
  122. * @param bool $isLeapMonth 是否是閏月
  123. * @return string
  124. */
  125. public function solarToLunar($date, &$isLeapMonth = false)
  126. {
  127. $dateTime = new DateTime($date);
  128. list($lunarYear, $lunarMonth, $lunarDay, $leapMonth, $leapMonthFlag) = $this->calculateLunar($dateTime);
  129. $result = $lunarYear . "-";
  130. if($lunarMonth < 10){
  131. $result .= "0" . $lunarMonth . "-";
  132. } else {
  133. $result .= $lunarMonth . "-";
  134. }
  135. if($lunarDay < 10){
  136. $result .= "0" . $lunarDay;
  137. } else {
  138. $result .= $lunarDay;
  139. }
  140. $isLeapMonth = false;
  141. if($leapMonthFlag && $lunarMonth == $leapMonth) {
  142. $isLeapMonth = true;
  143. }
  144. return $result;
  145. }
  146. /**
  147. * 計(jì)算當(dāng)前日期的陰歷
  148. * @param DateTime $dateTime
  149. * @return array
  150. */
  151. private function calculateLunar($dateTime)
  152. {
  153. $i = 0;
  154. $temp = 0;
  155. $leapMonthFlag = false;
  156. $isLeapYear = false;
  157. $startDate = new DateTime(self::START_DATE_STR);
  158. $offset = $this->daysBwteen($dateTime, $startDate);
  159. for($i = self::MIN_YEAR; $i < self::MAX_YEAR; $i++){
  160. $temp = $this->getYearDays($i); //求當(dāng)年農(nóng)歷年天數(shù)
  161. if($offset - $temp < 1){
  162. break;
  163. } else {
  164. $offset -= $temp;
  165. }
  166. }
  167. $lunarYear = $i;
  168. $leapMonth = $this->getLeapMonth($lunarYear); //計(jì)算該年閏哪個(gè)月
  169. //設(shè)定當(dāng)年是否有閏月
  170. if($leapMonth > 0 ){
  171. $isLeapYear = true;
  172. } else {
  173. $isLeapYear = false;
  174. }
  175. for($i = 1; $i <= 12; $i++){
  176. if($i == $leapMonth + 1 && $isLeapYear){
  177. $temp = $this->getLeapMonthDays($lunarYear);
  178. $isLeapYear = false;
  179. $leapMonthFlag = true;
  180. $i--;
  181. } else {
  182. $temp = $this->getMonthDays($lunarYear, $i);
  183. }
  184. $offset -= $temp;
  185. if($offset <= 0){
  186. break;
  187. }
  188. }
  189. $offset += $temp;
  190. $lunarMonth = $i;
  191. $lunarDay = $offset;
  192. return [$lunarYear, $lunarMonth, $lunarDay, $leapMonth, $leapMonthFlag];
  193. }
  194. /**
  195. * 檢查陰歷是否合法
  196. * @param int $lunarYear
  197. * @param int $lunarMonth
  198. * @param int $lunarDay
  199. * @param bool $leapMonthFlag
  200. * @return bool
  201. * @throws Exception
  202. */
  203. private function checkLunarDate($lunarYear, $lunarMonth, $lunarDay, $leapMonthFlag = false) {
  204. if ($lunarYear < self::MIN_YEAR || $lunarYear > self::MAX_YEAR) {
  205. // 非法農(nóng)歷年份
  206. return false;
  207. }
  208. if ($lunarMonth < 1 || $lunarMonth > 12) {
  209. // 非法農(nóng)歷月份
  210. return false;
  211. }
  212. if ($lunarDay < 1 || $lunarDay > 30) { // 中國(guó)的月最多30
  213. // 非法農(nóng)歷天數(shù)
  214. return false;
  215. }
  216. $leap = $this->getLeapMonth($lunarYear); // 計(jì)算該年應(yīng)該閏哪個(gè)月
  217. if ($leapMonthFlag == true && $lunarMonth != $leap) {
  218. // 非法閏月
  219. return false;
  220. }
  221. return true;
  222. }
  223. /**
  224. * 計(jì)算該月總天數(shù)
  225. * @param int $year
  226. * @param int $month
  227. * @return int
  228. */
  229. private function getMonthDays($year, $month) {
  230. if ($month > 31 || $month < 0) {
  231. // error month
  232. return 0;
  233. }
  234. // 0X0FFFF[0000 {1111 1111 1111} 1111]中間12位代表12個(gè)月,1為大月,0為小月
  235. $bit = 1 << (16 - $month);
  236. if (((self::LUNAR_INFO[$year - 1900] & 0x0FFFF) & $bit) == 0) {
  237. return 29;
  238. }
  239. return 30;
  240. }
  241. /**
  242. * 計(jì)算陰歷年的總天數(shù)
  243. * @param int $year
  244. * @return int
  245. */
  246. private function getYearDays($year) {
  247. $sum = 29 * 12;
  248. for ($i = 0x8000; $i >= 0x8; $i >>= 1) {
  249. if ((self::LUNAR_INFO[$year - 1900] & 0xfff0 & $i) != 0) {
  250. $sum++;
  251. }
  252. }
  253. return $sum + $this->getLeapMonthDays($year);
  254. }
  255. /**
  256. * 計(jì)算陰歷年閏月多少天
  257. * @param int $year
  258. * @return int
  259. */
  260. private function getLeapMonthDays($year) {
  261. if ($this->getLeapMonth($year) != 0) {
  262. if ((self::LUNAR_INFO[$year - 1900] & 0xf0000) == 0) {
  263. return 29;
  264. }
  265. return 30;
  266. }
  267. return 0;
  268. }
  269. /**
  270. * 計(jì)算陰歷年閏哪個(gè)月 1-12 , 沒(méi)閏傳回 0
  271. * @param int $year
  272. * @return int
  273. */
  274. private function getLeapMonth($year) {
  275. return (int)(self::LUNAR_INFO[$year - 1900] & 0xf);
  276. }
  277. /**
  278. * 計(jì)算差的天數(shù)
  279. * @param DateTime $date
  280. * @param DateTime $startDate
  281. * @return int
  282. */
  283. private function daysBwteen($date, $startDate)
  284. {
  285. $subValue = floatval($date->getTimestamp() - $startDate->getTimestamp()) / 86400.0 + 0.5;
  286. return intval($subValue);
  287. }
  288. /**
  289. * 計(jì)算年天干地支
  290. * @param $lunarYear
  291. * @return string
  292. */
  293. private function yearGanZhi($lunarYear)
  294. {
  295. // 年數(shù)先減三,除10余數(shù)是天干,基數(shù)改用12除,余數(shù)便是地支年 (如果余數(shù)為 0 ,則取最大序號(hào))
  296. $yJiShu = $lunarYear - 3;
  297. $yTianGan = ($yJiShu % 10 == 0) ? 10 : $yJiShu % 10;
  298. $yDiZhi = ($yJiShu % 12 == 0) ? 10 : $yJiShu % 12;
  299. $yGanZhi = self::TIAN_GAN[$yTianGan - 1] . self::DI_ZHI[$yDiZhi - 1]; // // 由于是從 0 開(kāi)始,這里再減一
  300. return $yGanZhi;
  301. }
  302. /**
  303. * 計(jì)算年的生肖屬相
  304. * @param $lunarYear
  305. * @return mixed
  306. */
  307. private function yearShengXiao($lunarYear)
  308. {
  309. // TODO 至于為什么這樣弄, 我也沒(méi)搞清楚
  310. return self::SHENG_XIAO[($lunarYear - self::MIN_YEAR + 36) % 12]; // 年的屬相
  311. }
  312. // TODO 尚未實(shí)現(xiàn)
  313. /**
  314. * 計(jì)算日的天干地支
  315. * @param $solarYear
  316. * @param $solarMoth
  317. * @param $solarDay
  318. * @return string
  319. */
  320. private function dayGanZhi($solarYear, $solarMoth, $solarDay)
  321. {
  322. return "";
  323. }
  324. // TODO 尚未實(shí)現(xiàn)
  325. /**
  326. * 計(jì)算月的天干地支
  327. * @param $solarYear
  328. * @param $solarMoth
  329. * @param $solarDay
  330. * @return string
  331. */
  332. private function mothGanZhi($solarYear, $solarMoth, $solarDay)
  333. {
  334. return "";
  335. }
  336. /**
  337. * 把天轉(zhuǎn)換為中文字符
  338. * @param int $day
  339. * @return mixed|string
  340. */
  341. private function chineseDayString($day)
  342. {
  343. $chineseTen = ["初", "十", "廿", "三"];
  344. $n = 0;
  345. if($day % 10 == 0){
  346. $n = 9;
  347. } else {
  348. $n = $day % 10 - 1;
  349. }
  350. if($day > 30){
  351. return "";
  352. }
  353. if($day == 20){
  354. return "二十";
  355. } else if($day == 10){
  356. return "初十";
  357. } else {
  358. return $chineseTen[$day / 10] . self::CHINESE_NUMBER[$n];
  359. }
  360. }
  361. }
  362. $solarLunar = new SolarLunar();
  363. $solarDate = "2010-01-05";
  364. $new_date = $solarLunar->solarToChineseLunar($solarDate);
  365. var_dump($solarDate . " 轉(zhuǎn)為陰歷: " . $new_date);
  366. $new_date = $solarLunar->solarToSimpleLunar($solarDate);
  367. var_dump($solarDate . " 轉(zhuǎn)為陰歷, 中文: " . $new_date);
  368. $new_date = $solarLunar->solarToLunar($solarDate, $isLeapMonth);
  369. var_dump("是否是閏月: " . ($isLeapMonth ? "是" : "否"));
  370. var_dump($solarDate . " 轉(zhuǎn)為陰歷: " . $new_date);
  371. $lunarDate = "2099-11-25";
  372. $new_date = $solarLunar->lunarToSolar($lunarDate, false);
  373. var_dump($lunarDate . " 轉(zhuǎn)新歷為: " . $new_date);

輸出:

</>復(fù)制代碼

  1. string(67) "2010-01-05 轉(zhuǎn)為陰歷: 冬月廿一日,己丑年 [牛年],月,日"
  2. string(50) "2010-01-05 轉(zhuǎn)為陰歷, 中文: 2009年11月21日"
  3. string(20) "是否是閏月: 否"
  4. string(35) "2010-01-05 轉(zhuǎn)為陰歷: 2009-11-21"
  5. string(35) "2099-11-25 轉(zhuǎn)新歷為: 2100-01-05"
GO 實(shí)現(xiàn)方式

https://github.com/nosixtools...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/30847.html

相關(guān)文章

  • 陰歷陽(yáng)歷相互轉(zhuǎn)換支持1900~2100

    摘要:背景最近做到一個(gè)項(xiàng)目需要陰歷與陽(yáng)歷的相互轉(zhuǎn)換網(wǎng)上找了很多資料發(fā)現(xiàn)很多都是不準(zhǔn)的但是給了我參考價(jià)值算法借用百度百科的陽(yáng)歷太陽(yáng)歷又稱為陽(yáng)歷,是以地球繞太陽(yáng)公轉(zhuǎn)的運(yùn)動(dòng)周期為基礎(chǔ)而制定的歷法。 背景 最近做到一個(gè)項(xiàng)目, 需要陰歷與陽(yáng)歷的相互轉(zhuǎn)換, 網(wǎng)上找了很多資料, 發(fā)現(xiàn)很多都是不準(zhǔn)的, 但是給了我參考價(jià)值 算法 借用百度百科的 : 陽(yáng)歷 太陽(yáng)歷又稱為陽(yáng)歷,是以地球繞太陽(yáng)公轉(zhuǎn)的運(yùn)動(dòng)周期為基礎(chǔ)而...

    whjin 評(píng)論0 收藏0
  • 陰歷陽(yáng)歷相互轉(zhuǎn)換支持1900~2100

    摘要:背景最近做到一個(gè)項(xiàng)目需要陰歷與陽(yáng)歷的相互轉(zhuǎn)換網(wǎng)上找了很多資料發(fā)現(xiàn)很多都是不準(zhǔn)的但是給了我參考價(jià)值算法借用百度百科的陽(yáng)歷太陽(yáng)歷又稱為陽(yáng)歷,是以地球繞太陽(yáng)公轉(zhuǎn)的運(yùn)動(dòng)周期為基礎(chǔ)而制定的歷法。 背景 最近做到一個(gè)項(xiàng)目, 需要陰歷與陽(yáng)歷的相互轉(zhuǎn)換, 網(wǎng)上找了很多資料, 發(fā)現(xiàn)很多都是不準(zhǔn)的, 但是給了我參考價(jià)值 算法 借用百度百科的 : 陽(yáng)歷 太陽(yáng)歷又稱為陽(yáng)歷,是以地球繞太陽(yáng)公轉(zhuǎn)的運(yùn)動(dòng)周期為基礎(chǔ)而...

    JinB 評(píng)論0 收藏0
  • 4月份前端資源分享

    摘要:更多資源請(qǐng)文章轉(zhuǎn)自月份前端資源分享關(guān)于的思考一款有趣的動(dòng)畫效果跨站資源共享之二最流行的編程語(yǔ)言能做什么到底什么是閉包的第三個(gè)參數(shù)跨域資源共享詳解阮一峰前端要給力之語(yǔ)句在中的值周愛(ài)民中國(guó)第二屆視頻花絮編碼規(guī)范前端工程師手冊(cè)奇舞周刊被忽視的 更多資源請(qǐng)Star:https://github.com/maidishike... 文章轉(zhuǎn)自:https://github.com/jsfron...

    jsdt 評(píng)論0 收藏0
  • 利用JavaScript實(shí)現(xiàn)ISO周日歷

      知識(shí)普及  陽(yáng)歷:就是以太陽(yáng)來(lái)計(jì)算日期的一類歷法;  陰歷:根據(jù)月亮周期制定出的歷法,由陰轉(zhuǎn)晴,再由晴轉(zhuǎn)陰為一個(gè)月,換算下來(lái)合29天12個(gè)小時(shí)44分零二秒八,接近30天。  公歷:屬陽(yáng)歷的一種,我國(guó)現(xiàn)在使用的就是公歷;  農(nóng)歷:我國(guó)的農(nóng)歷是一種陰陽(yáng)合歷,用來(lái)指導(dǎo)農(nóng)業(yè)十分方便。  總結(jié)來(lái)說(shuō)公歷屬于陽(yáng)歷,但是陽(yáng)歷并不一定是公歷。農(nóng)歷不是陰歷,而是陰陽(yáng)歷,是以陰歷為主,陽(yáng)歷為輔。  公歷:用阿拉伯?dāng)?shù)...

    3403771864 評(píng)論0 收藏0
  • 深入淺出排序?qū)W習(xí):寫給程序員算法系統(tǒng)開(kāi)發(fā)實(shí)踐

    引言 我們正處在一個(gè)知識(shí)爆炸的時(shí)代,伴隨著信息量的劇增和人工智能的蓬勃發(fā)展,互聯(lián)網(wǎng)公司越發(fā)具有強(qiáng)烈的個(gè)性化、智能化信息展示的需求。而信息展示個(gè)性化的典型應(yīng)用主要包括搜索列表、推薦列表、廣告展示等等。 很多人不知道的是,看似簡(jiǎn)單的個(gè)性化信息展示背后,涉及大量的數(shù)據(jù)、算法以及工程架構(gòu)技術(shù),這些足以讓大部分互聯(lián)網(wǎng)公司望而卻步。究其根本原因,個(gè)性化信息展示背后的技術(shù)是排序?qū)W習(xí)問(wèn)題(Learning to ...

    caige 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<