js 的new date()问题,求救啊,急啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 的new date()问题,求救啊,急啊相关的知识,希望对你有一定的参考价值。

js不支持new date()函数,执行到这一步的时候提示不支持该属性或方法,这是怎么回事?
如图里显示的

参考技术A 正确的定义方式:
var 变量名= new Date();
如果格式对了的话,还有出错的情况,应该是其它地方的JS引起的问题,需要打断点调试

如果你确保了你的JS的逻辑没有出现语法错误或者其它的书写的话,那么应该是JS的兼容性问题,或者是你的浏览器问题,将你的错误提示百度一下,很多答案的追问

其他JS没问题,注释了new date()这些后能正常运行,不会报任何错

function display_alert()
var myDate = new Date();
alert(myDate);


这段能正常运行

追答

就现在的问题而言,依我的判断应该是JS兼容性或者是浏览器的问题,要不你把代码和浏览器的版本贴上,我帮你看看调试下?

参考技术B 是Date不是date,还有括号是英文的,不是中文的追问

看图,以图为准

追答

看你提供的图片,应该是Date.split(“-”)这句出错了吧

本回答被提问者采纳

js里面的new date问题

<html>
<script>
function asasa()
var date1=new Date('2018/09/13');
var date2=new Date('2018-09-13');
alert("date1:"+date1.getTime()+"\n\r"+"date2:"+date2.getTime())

</script>
<body>
<input type="button" value="test" onclick="asasa()">
</body>
</html>

上面的这些代码。date1和date2为什么不相等呢?跟js里面月份从0开始有关?

了解了一下Date()函数在作为构造函数时的解析日期字符串参数的规则,感觉最佳答案个人觉得并不是很全面,所以这里写一下自己的看法。
Date()函数像题主的这种用法,即作为构造函数使用,当传入日期字符串的时候,内部其实会调用Date.parse()方法解析日期字符串,根据MDN文档的说法,该日期字符串的要求是“符合 RFC2822 或 ISO 8601 日期格式的字符串(其他格式也许也支持,但结果可能与预期不符)”。像'2018-09-13'这种就是ISO 8601的日期格式,文档中有说明对于ISO 8601日期格式的处理说明:“如果参数字符串只包含日期格式,那么将会使用UTC时区来解析该参数。而如果是ISO 8601 格式中规定的时间加日期的格式,则将会被作为本地时区处理”。
这句话简单的理解就是如果你传的字符串参数不包含时间,那么则表示的是中时区(零时区,本初子午线)的0点0分0秒,转换成北京时间(东八区)自然就得加8个小时咯,所以new Date('2018-09-13')返回的是“Thu Sep 13 2018 08:00:00 GMT+0800 (中国标准时间)”。根据上面的那句话,new Date('2018-09-13T08:00:00')应该与'2018-09-13'返回的是一样的结果,测试确实如此,因为加上时间的话,就会作为本地时区处理。
而“2018/09/13”这种不包含时间的日期格式(并不属于ISO 8601格式,属于什么标准自行了解,我也不懂),显然是直接当做本地时间处理了。你只需要记住,当使用ISO 860即'2018-09-13'这种格式的日期字符串的时候,记得要把时间补全,即便是零,例如new Date('2018-09-13T00:00:00')。
参考技术A

'2018-09-13' 是 ISO 8601 格式的日期字符串, 如果参数字符串只包含日期格式,会使用UTC时区来解析该参数。如果是规定的时间加日期的格式,则将会被作为本地时区处理。

var date1=new Date('2018-09-13 00:00:00'); // 1536768000000  本区时区
var date2=new Date('2018-09-13');          // 1536796800000  UTC时区

'2018/09/13' 是非 ISO 格式字符串, 如果一个字符串不符合标准格式,则函数可以使用任何由引擎决定的策略或解析算法

参考技术B 这跟时区有关,date1是格林威治时间,date2是北京时间,date2比date1多8小时

以上是关于js 的new date()问题,求救啊,急啊的主要内容,如果未能解决你的问题,请参考以下文章

JS中new Date该如何设置?

js怎么把unix毫秒数转化为具体的Date啊

js里面的new date问题

高手啊 求救求救啊帮我用c语言编写个先进先出的算法 急需啊

java、jdbc操作oracle数据库问题、急啊 求助啊!!

关于JS中new date 函数的问题