我有一个使用javascript用JavaScript编写的图形组件。如果将有效的json数组,日期以及该日期的价格(股票交易烛台)传递给它,则可以更新其值。
我试图在此调用中填充的jsonArray通常来自于在js中创建新日期-但是有没有办法将我的jsonArray从线下发送(从Primefaces),使得日期被解释为日期?
当我使用
PrimeFaces.current().executeScript("myFunction(" + jsonObject.toString() + ")");
从网络上传下来的日期正变成长久以来的数字,我想这是自1970年以来的毫秒数。如何发送此(相当大的)jsonarray并将其日期解释为日期? (它们在date.getMonth()调用上失败,因为它们是数字而不是日期)。
在服务器端创建jsonArray时,我执行以下操作,由于getTime()返回一个long值,因此看起来很错误。那么如何在这里正确处理日期?
json.addProperty("date", data.getKey().getTs().getTime());
答案 0 :(得分:1)
以下以长值作为日期的函数被调用。正如Ultimater建议的那样,将此对象通过new Date()
传递-应该对日期对象有效-而且要很长,所以不会造成伤害!
dateToString(date, multiline) {
if(date === null)
return;
// Added this
date = new Date(date);
var datestr = date.getMonth() + " " + date.getDay() + ", " + date.getFullYear();