我正在尝试将即时日期(具体为2018-12-31 00:00:00
)解析为一种特殊格式。问题是我得到了这个错误:
toString()基数必须在2到36之间 在Number.toString()
这是我的代码:
function format_date(event, addHours){
var date = event.start.format('YYYY-MM-DD HH:mm:ss');
var timeFormat = 'h:mm tt';
var hours = addHours ? ' ' + timeFormat : '';
return Date.parse(date).toString('dd/MM/yyyy' + hours);
}
单击事件时,fullcalendar提供对象event
。每个事件由一个start
和一个end
日期组成。我也使用isValid
提供的momentjs
方法检查了两个日期,并且两个日期都有效。
我还有变量timeFormat
,用于指定时间格式,而hours
用于指定是否还将小时数添加到最终日期。
答案 0 :(得分:0)
Date.parse(date)
返回一个时间戳,一个数字。默认情况下,在number上调用toString()方法将其设置为字符串,但是使用参数可以将该数字转换为不同的基数,例如十六进制。
您可能需要研究一下moment.js库,然后才能进行那些格式化操作。
答案 1 :(得分:0)
您不能将日期格式传递给.toString()方法。
这仅适用于Number.prototype.toString指定基数(2到36之间的整数,指定用于表示数值的基数):
答案 2 :(得分:0)
几分钟前,此问题的作者询问Date对象是否不存在方法parseExact。我输入了答案,但问题已删除。我认为无论如何它可以对@sfarzoso有所帮助,所以我在那儿回答。
方法GridSearchCV(...)
在JavaScript中不是本机方法。它通过库Datejs附加到Data对象的原型
您可以在这里找到它
Date.js parseExact() not parsing 4 digit years when passed in as an array
在那里
图书馆在那里
您可以在文件末尾找到准确的解析文档