Javascript 在html中设置自定义开始日期

Javascript 在html中设置自定义开始日期,javascript,html,date,Javascript,Html,Date,我想为日历设置自定义开始日期。因此,与2016年前公历的起始日期不同。我想从1980年开始,也有一个自定义的月份和日期 因此,我希望11月5日不是1月1日的新年,而是新年(但它仍然被称为1月1日,但与公历相比,它是11月5日) 也就是说,当我们(使用公历)将日期定为2016-02-10(我制定的日历)时,我希望它是第36年(2016-1980),4月(根据公历,现在是11月,而不是1月)和第15天(10+5)。所以2016-02-10将是30-04-15 我有这个代码,但我不知道如何让它工作。我

我想为日历设置自定义开始日期。因此,与2016年前公历的起始日期不同。我想从1980年开始,也有一个自定义的月份和日期

因此,我希望11月5日不是1月1日的新年,而是新年(但它仍然被称为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>

var tmonth=新数组(“十一月”、“十二月”、“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”);
函数GetClock(){
var d=新日期();
//d、 整年(1980,0,3);
var nmonth=d.getMonth()
ndate=d.getDate(),nyear=d.getYear();

如果(nyear如果我要做这样的事情,我可能会得到现在和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的小提琴:

记住getMonth是零索引的,所以需要+1才能得到真实的数字


如果我误解了你的问题,很抱歉。

不,我想你已经把基本知识都记下来了。虽然,(虽然这可能是我不知道……)问题是我今天(2月12日)的日期等于11月5日。我希望我的自定义日历是1月1日,而我们的“正常”日期是1月1日日历是11月5日。按照现在的代码,我知道1月1日将是正常日历的4月10日。这可能只是一些简单的编辑,但我无法理解。我想如果我可以在11月5日和明年1月1日之间添加毫秒数,它会起作用。但我这样做时会出现错误,它声称这是一个无效的日期。为什么?为什么可以返回时间(减法)并检索日期,但不能向前?有什么建议吗?我完全看错了。我必须对代码做一些小的更改,以符合我的目的(这不是问题)所以它确实有效,没什么问题。谢谢!不用担心,更新的js在这里处理了新的数学问题,并对代码做了一些细微的修改。你能解释一下“$(function()){”的用法,而不是像这样的:“function date123(){”?我问的原因是我不明白原因,当我尝试使用“setTimeout()”使脚本自动刷新时,它与您创建脚本的方式不兼容。为什么?是否有其他方法进行自动刷新,因为我需要更新脚本。@Stephen