我有一个字符串返回的值(用逗号分隔的数字),我想从中创建一个Date对象。看起来这是不可能的,有人可以确认和/或建议我解决方案 这不起作用:
let dateString='2017,3,22,0';
let dateFromString = new Date(dateString);
这可行(当我传递数字列表时):
let dateFromString = new Date(2017,3,22,0);
这也有效:
let dateString = '2008/05/10 12:08:20';
let dateFromString = new Date(dateString);
目标是从统一字符串创建Date对象。那可能吗 ?
我可以从预定义的字符串创建一个Date对象,该字符串只有一种分隔符(逗号,冒号,斜杠或其他)吗?
答案 0 :(得分:1)
如果您的环境与ES6兼容(例如,Babel,TypeScript,现代Chrome / Firefox等),您可以使用字符串.split(',')
并将数组分解为如下参数:
const dateString = '2017,3,22,0';
const date = new Date(...dateString.split(',')); // date object for 2017/03/22
ES5兼容版本:
var dateString = '2017,1,2,0';
var date = new (Function.prototype.bind.apply(Date, [null].concat(dateString.split(','))));
至于.bind.apply
方法如何与new
一起使用,您可以查看Use of .apply() with 'new' operator. Is this possible?
注意:感谢以下两条评论,以发现我的错误