Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取超出getdate()方法限制的值 函数myFunction(){ var d=新日期(“1983000年7月21日01:15:00”); var n=d.getDate() document.getElementById(“demo”).innerHTML=n; }_Javascript - Fatal编程技术网

Javascript 获取超出getdate()方法限制的值 函数myFunction(){ var d=新日期(“1983000年7月21日01:15:00”); var n=d.getDate() document.getElementById(“demo”).innerHTML=n; }

Javascript 获取超出getdate()方法限制的值 函数myFunction(){ var d=新日期(“1983000年7月21日01:15:00”); var n=d.getDate() document.getElementById(“demo”).innerHTML=n; },javascript,Javascript,我得到的结果是NaN 如何获得21的值?引擎盖下的日期只是数字。在javascript中,这是自数据生成以来的毫秒数 所以你的要求是不可能的。这就像试图输入一个溢出最大整数的整数,然后询问第二个数字是什么。它无法表示,因此没有读取该数字的选项。您的日期格式不正确,请检查该链接以查找正确的格式: 更新: 注意你的约会格式。 尝试用您的代码行替换以下代码行: <script> function myFunction() { var d = new Date("July 21, 19830

我得到的结果是NaN


如何获得21的值?

引擎盖下的日期只是数字。在javascript中,这是自数据生成以来的毫秒数


所以你的要求是不可能的。这就像试图输入一个溢出最大整数的整数,然后询问第二个数字是什么。它无法表示,因此没有读取该数字的选项。

您的日期格式不正确,请检查该链接以查找正确的格式:

更新:

注意你的约会格式。 尝试用您的代码行替换以下代码行:

<script>
function myFunction() {
var d = new Date("July 21, 1983000 01:15:00");
var n = d.getDate()
document.getElementById("demo").innerHTML = n;
}
我认为,因为Date()是基于毫秒计算的,所以不能对1983000中的日期执行任何操作,因为它会溢出任何内容。但我们应该能够在几天内完成这些计算(不是那么大):


这里的问题是,您输入的日期是
null
,因为给定的
1983000
年份不是有效的年份号

你可以从中看到:

ECMAScript需要能够指定6位数的年份(扩展年份);从协调世界时1970年1月1日起,向前或向后大约285426年。为了表示9999年之前或之后的年份,ISO 8601允许扩展年份表示,但前提是发送方和接收方事先达成协议。在简化的ECMAScript格式中,这种扩展的年份表示应具有2个额外的年份数字,并且始终以+或–号作为前缀。年份0被认为是正的,因此前缀为+号

因此,可能的最大年份值为
285426
,远小于您输入的值

以下是一个有效年份的演示:

函数myFunction(){
var d=新日期(“1983年7月21日01:15:00”);
var n=d.getDate();
document.getElementById(“demo”).innerHTML=n;
}
myFunction()

您的年份无效。添加到^^^
新日期(“1983年7月21日01:15:00”)
日期对象可以处理275760年之前的年份。那是274743年后的事了。你为什么要处理超过那一年的日期?不,我是说1983000年exactly@VX7为什么?这将需要一个非常非常大的数学量,我正在测试一个时间轴上的值,我需要它在无限数上工作。当我进入今年时,我得到了一个结果,这就是为什么我要求solution@VX7javascript日期的最大年份为275760 e,g。var d=新日期(“275760年9月13日23:59:59”);此大日期方法可用于任何长度的数字?@VX7如果其中没有一个(例如年份)溢出最大数字长度(非常大)是。@VX7是年份:+/-9007199254740991@Jonasw9007199254740991太小了。VX7明确表示,他需要能够支持无限年。他有一些非常有远见的用户,他们可能需要在太阳吞噬地球之后安排日期实际上,
日期的最大时间戳正好是
8640000000000000
var d = new Date("July 21, 1983 01:15:00");
function BigDate(string){
  string=string.split("-");
  ["days","month","year","hours","minutes","seconds"].forEach((el,i)=>this[el]=+string[i]||0,this);
}
BigDate.prototype={
  hours:0,
  minutes:0,
  seconds:0,
  days:0,
  dayinweek:0,
  month:0,
  year:0,
  getDate:function(){
    return this.days;
}
//more to implement...
};

var d = new BigDate("21-6-1983000-01-15-00");
var n = d.getDate()
document.getElementById("demo").innerHTML = n;
function myFunction() {
    var d = new Date("July 21, 1983 01:15:00"),
        n = d.getDate();
    document.getElementById("demo").innerHTML = n;
}