Primefaces 日期不正确,传递的json类似于;jsonObject.toString();

Primefaces 日期不正确,传递的json类似于;jsonObject.toString();,primefaces,primefaces-extensions,Primefaces,Primefaces Extensions,我有一个使用画布用javascript编写的图形组件。如果您向其传递一个有效的json数组,其中包含日期以及该日期的价格(股票交易烛台),则可以更新其值 我在这个调用中尝试填充的jsonArray通常来自于在js中创建新的日期——但是有没有一种方法可以将我的jsonArray发送到网络上(从Primefaces),从而将日期解释为日期 当我使用 PrimeFaces.current().executeScript("myFunction(" + jsonObject.toString() + "

我有一个使用画布用javascript编写的图形组件。如果您向其传递一个有效的json数组,其中包含日期以及该日期的价格(股票交易烛台),则可以更新其值

我在这个调用中尝试填充的jsonArray通常来自于在js中创建新的日期——但是有没有一种方法可以将我的jsonArray发送到网络上(从Primefaces),从而将日期解释为日期

当我使用

PrimeFaces.current().executeScript("myFunction(" + jsonObject.toString() + ")");
从电线上下来的日期变成了看起来很长的数字,我猜是自1970年以来的毫秒数。我如何发送这个(相当大的)jsonarray并将其日期解释为日期?(它们在date.getMonth()调用时失败,因为它们是数字而不是日期)

在服务器端创建jsonArray时,我执行以下操作,这看起来是错误的,因为getTime()返回一个长字符串。那么,在这里如何正确处理日期呢

json.addProperty("date", data.getKey().getTs().getTime());

以长值作为日期调用的函数如下所示。正如Ultimater所建议的,通过
new Date()
传递此对象-这应该适用于日期对象-以及长时间,因此不会造成任何伤害

dateToString(date, multiline) {

    if(date === null)
        return;

    // Added this
    date = new Date(date);

    var datestr = date.getMonth() + " " + date.getDay() + ", " + date.getFullYear();

总是可以“黑客”JavaScript在数字上使用日期方法:
number.prototype.getMonth=function(){return(new Date(this)).getMonth()}
否则JSON是一种数据交换格式,它不能在其结构中表示日期对象。这将完全依赖于您的方法来理解它应该将某物转换为日期对象。您可能需要编写一些代码才能将其转换为日期对象。或者不管你有什么调用getMonth的代码,都要先把它放到新的日期中去!请将此作为答案发布,以便我可以接受!!:)谢谢我的朋友!!请发布有效的代码并接受您自己的答案,以便其他人可以看到您在代码中插入的位置。好吧,那么,我只是想让您为此获得积分。。。再次感谢。