JavaScript Date.toString()基数参数错误
为什么以下代码不会将我的日期输出到字符串!?
var d1 = Date.parse('10/29/1990 12:00:00 AM'); console.log(d1.toString('dd/MM/yyyy'));
错误是:
未捕获的RangeError:toString()基数参数必须介于2和36之间
只是试图格式化日期……
因为d1
不是Date
对象 ,而是一个数字。 Date.parse
返回毫秒表示,您需要将其提供给new Date
或直接使用Date
构造函数。
并且因为JavaScript没有本机日期格式化函数,所以只有依赖于实现的toString
和toLocalString
以及标准化的toISOString
和toUTCString
(虽然在旧IE中不受支持)。 相反,您必须通过获取单个组件并连接它们来手动进行格式化。 幸运的是, 有一堆图书馆可以帮助你。
JavaScript Date.prototype.toString方法不带参数(如格式等)。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toString
使用Date.prototype.toLocaleDateString可能有所帮助: d1.toLocaleDateString('en')
适用于我,但请查看所有精细打印:
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleString