基数参数必须在当前日期为2到36之间

时间:2019-01-23 18:58:23

标签: javascript datetime fullcalendar momentjs

我正在尝试将即时日期(具体为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用于指定是否还将小时数添加到最终日期。

3 个答案:

答案 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

在那里

  

Date.js parseExact with french culture

图书馆在那里

  

https://github.com/datejs/Datejs

您可以在文件末尾找到准确的解析文档

  

https://github.com/datejs/Datejs/blob/master/src/parser.js