Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Momentjs中,如何解析从Java内置服务器发送的日期?_Javascript_Angularjs_Momentjs - Fatal编程技术网

Javascript 在Momentjs中,如何解析从Java内置服务器发送的日期?

Javascript 在Momentjs中,如何解析从Java内置服务器发送的日期?,javascript,angularjs,momentjs,Javascript,Angularjs,Momentjs,我以列表的形式从服务器获取日期,例如,[2017,8,24,9,0]。当我在momentjs中对它们进行解析和本地化时,所有日期都提前了一个月:我得到的不是8月,而是9月。在[2017,8,31,9,0]的情况下,我得到了无效日期。我想这是因为9月不是31天 我的问题是如何将诸如[2017,8,24,9,0]、[2017,8,29,20,0]和[2017,8,31,9,0]等日期解析为D.MMM[kl.]H:mm格式 我知道JavaScript-date是zero-indexed,而java-d

我以列表的形式从服务器获取日期,例如,
[2017,8,24,9,0]
。当我在
momentjs
中对它们进行解析和本地化时,所有日期都提前了一个月:我得到的不是
8月
,而是
9月
。在
[2017,8,31,9,0]
的情况下,我得到了
无效日期
。我想这是因为
9月
不是
31天

我的问题是如何将诸如
[2017,8,24,9,0]
[2017,8,29,20,0]
[2017,8,31,9,0]
等日期解析为
D.MMM[kl.]H:mm
格式


我知道
JavaScript-date
zero-indexed
,而java-date不是。我使用了
momentjs
subtract()
方法,但是
[2017,8,31,9,0]
仍然是
无效日期

这是一个javascript问题。但这不是一个错误。在js日期中。它是,0=一月,1=二月,等等。要解决这个问题,你可以用月份减去1

var myServerDate = [2017,8,24,9,0];

myServerDate[1] = myServerDate[1] -1;

然后您可以继续解析过程。

JavaScript中的月份是以零为基础的;你必须减去一。Java不是JavaScript。不,我的意思是从数组中的第二个数字开始。也就是说,在你们把它交给那个一刻之前。@jonrsharpe谢谢你们!或者,如果API在您的控制之下,请发送更好的格式,如Unix时间戳或ISO 8601字符串。