Atitit.基於時間戳的農曆日曆曆法日期計算
1. 農曆xx年的大小月份根據萬年曆查詢1
2. 農曆xx年1月1日的時間取得月1
3. 計算當年的時間戳與農曆日期的對應表,時間戳為key,日期為val111
4. 根據取得的時間戳得到農曆日期2
2006 年大進的月份13689,11,12
閏月的月份 none
小金月份2457,10
1月1日,換算為公曆的2016-02-08 3 2016-02-08 00:00:01的時間戳為:1454860801
// 取得某個時間格式的時間戳
var stringTime = "2016-02-08 00:00:01";
var timestamp2 = Date.parse(new Date(stringTime)); timestamp2 = timestamp2 / 1000; //2014-07-10 10:21:12的時間戳為:1404958872 console.log(stringTime + "的時間戳為:" + timestamp2); 精確到天的時間戳 16838.66667824074 天 作者:: ★(attilax)>>> 綽號:蟎Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 EMAIL:1466519819@qq.com
轉載請註明來源: http://www.cnblogs.com/attilax/
3. 計算當年的時間戳與農曆日期的對應表,時間戳為key,日期為val var base=16838;
var lit_a=[2,4,5,7,10];
var map={};
var map_abs={};
var offset=1;
for(var j=1;j {
map[offset]=i+"-"+j;
map_abs[offset+base]=i+"-"+j;
console.log(" offset:"+offset+" date:"+map[offset]);
offset++;
if(lit_a.indexOf(i)>-1) //if mon is litt mon
{
if(j>=29)
break;
} } } function getNowDateTmstmp() { var timestamp = Date.parse(new Date()); timestamp=timestamp/(3600*24*1000); return Math.floor(timestamp); } var nowStmp_date=getNowDateTmstmp(); alert( map_abs[nowStmp_date]);
4. 依取得的時間戳記得到農曆日期