永发信息网

javascript 中alert(new Date(key))结果是Invalid Date,怎么回事?其中key为DWR调用返回的long型数字。

答案:3  悬赏:60  手机版
解决时间 2021-11-14 01:48
  • 提问者网友:不爱我么
  • 2021-11-13 00:50
javascript 中alert(new Date(key))结果是Invalid Date,怎么回事?其中key为DWR调用返回的long型数字。
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-11-13 02:22
错误原因:参数格式不规范,不能兼容所有浏览器
创建一个日期对象:

var objDate=new Date([arguments list]);

参数形式有以下5种:
new Date("month dd,yyyy hh:mm:ss");  
new  Date("month dd,yyyy");  
new  Date(yyyy,mth,dd,hh,mm,ss);  
new Date(yyyy,mth,dd);  
new Date(ms);12345
month:用英文表示月份名称

mth:用整数表示月份

dd:表示一个月中的第几天

yyyy:四位数表示的年份

hh:小时数

mm: 分钟数

ss:秒数

ms:毫秒数
正确写法


var time="2014-08-12 09:25:24 ";
time=time.replace(/-/g,':').replace(' ',':');
time=time.split(':');

var time1 = new Date(time[0],(time[1]-1),time[2],time[3],time[4],time[5]);

console.log("time1"+time1);

结果:
time1:Date 2014-08-12T01:25:24.000Z
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-11-13 03:29
alert(new Date(parseInt(key)));

先转成数字吧,13位太长了,转成数字会被截断吧。

不知道得到的日期是不是你想要的。

  • 2楼网友:怙棘
  • 2021-11-13 02:48
经过测试发现参数类型的问题
var a=1368584724255;
new Date(a);//正确

var b='1368584724255';
new Date(b);//Invalid Date

b=parseInt(b,10);//转为整形
new Date(b);//正确
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯