为什么以下代码不会将我的日期输出到字符串!?
var d1 = Date.parse('10/29/1990 12:00:00 AM');
console.log(d1.toString('dd/MM/yyyy'));
错误是:
未捕获的 RangeError:toString() 基数参数必须介于 2 和 36 之间
只是想格式化日期...
为什么以下代码不会将我的日期输出到字符串!?
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
andtoLocalString
和标准化的toISOString
and toUTCString
(虽然在旧的 IE 中不支持)。相反,您必须通过获取单个组件并将它们连接起来手动进行格式化。幸运的是,有很多库可以帮助你。
JavaScriptDate.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