我想为日历设置自定义开始日期。因此,而不是公历从2016年前的0开始。我想从1980年开始,也可以定制一个月和日。
因此,而不是在1月1日的新年,我希望11月5日成为新的一年(但它仍然被称为1月1日,但与公历相比,它是11月5日)。
这意味着,当我们(与格里高利历)的日期2016-02-10,我制作的日历,我希望它是36年(2016 - 1980年),4月(因为11月现在是第一个)而不是根据格里高利历的1月)和第15天(10 + 5)。所以2016-02-10将是30-04-15。
我有这个代码,但我不知道如何让它工作。是否有可能或者我是否会为可能发生的一切编写代码?
<script type="text/javascript">
var tmonth=new Array("November","December","January","February","March","April","May","June","July","August","September","October");
function GetClock(){
var d=new Date();
//d.setFullYear(1980,0,3);
var nmonth=d.getMonth()
ndate=d.getDate(),nyear=d.getYear();
if(nyear<1000) nyear+=1900;
nyear-=1962;
d.setFullYear(nyear,nmonth,ndate);
var nhour=d.getHours(),nmin=d.getMinutes(),nsec=d.getSeconds(),ap;
if(nhour==0){ap=" AM";nhour=12;}
else if(nhour<12){ap=" AM";}
else if(nhour==12){ap=" PM";}
else if(nhour>12){ap=" PM";nhour-=12;}
if(nmin<=9) nmin="0"+nmin;
if(nsec<=9) nsec="0"+nsec;
document.getElementById('clockbox').innerHTML=""+tmonth[nmonth]+" "+ndate+", "+nyear+" "+nhour+":"+nmin+":"+nsec+ap+"";
}
window.onload=function(){
GetClock();
setInterval(GetClock,1000);
}
</script>
<div id="clockbox"></div>
答案 0 :(得分:0)
如果我要做这样的事情我可能会在现在和11月5日(去年)之间得到差异,以毫秒为单位:8592904550
这意味着,您可以从当前时间戳中减去该数字,以获得之前的秒数。然后我会用当前年份和-1980来获得年份数字。
$(function(){
var el = $('.clockbox');
var dateNow = new Date();
var newDateStamp = dateNow-8592904550;
var newDate = new Date(newDateStamp);
el.text(newDate.getMonth()+1 + "-" + newDate.getDate() + "-" + (dateNow.getFullYear()-1980));
})
你可以在这里看到一个使用jQuery的小提琴:https://jsfiddle.net/fpmes8y3/1/
请记住getMonth为零索引,因此您需要+1来获取真实数字。
很抱歉,如果我误解了你的问题。