如何从变量填充Bootstrap Datetimepicker默认日期?
解决Inline Bootstrap Datetimepicker默认日期不生效的问题
嘿,我刚好碰到过类似的坑!你的问题根源出在字符串类型的时间戳上,给你拆解清楚:
你直接写new Date(1547870400000)时,传的是数字类型的时间戳,Date对象能正确识别并解析。但当你把时间戳存在字符串变量var date = '1547870400000'里再传给new Date(date)时,Date对象会把这个纯数字字符串当成非标准日期格式处理,结果返回Invalid Date——这时候datetimepicker就会自动 fallback 到当前时间了。
解决方案:把字符串时间戳转成数字
只需要在创建Date对象前,把字符串转成数字类型就行,两种简单方式任选:
方法1:用parseInt()转换(推荐加十进制参数避免意外)
var date = '1547870400000'; $('#datetimepicker12').datetimepicker({ inline: true, sideBySide: true, date: new Date(parseInt(date, 10)) });
方法2:用Number()快速转换
var date = '1547870400000'; $('#datetimepicker12').datetimepicker({ inline: true, sideBySide: true, date: new Date(Number(date)) });
你可以自己验证:在控制台输入new Date('1547870400000')会返回Invalid Date,转成数字后new Date(1547870400000)就会显示正确的日期啦。
内容的提问来源于stack exchange,提问作者AShoes
相关产品推荐
相关产品推荐

