将java的DateTime对象转换为js中的字符串
我正在开发一个java应用程序。在这我使用Restangular服务,角js和弹簧框架工作。 我正在从js的restangular调用传递DateTime对象。我的restangular代码是 -将java的DateTime对象转换为js中的字符串
@GET
@Path("/try")
@Timed
public DateTime create() {
return new DateTime("2016-05-30T12:10:30.407+05:30");
}
而在js我想这个对象作为字符串。我的js代码是 -
$scope.try = function() {
console.log("Hi")
Restangular.one('tasks/try').get().then(function (data) {
console.log(data);
});
};
在这段代码返回的restangular对象是在形式上2016-05-30T12:10:30.407+05:30
但JS我收到它作为[2016, 6, 2, 16, 55, 52, 931]
我能做些什么,以便在JS,我得到这个日期对象2016-05-30T12:10:30.407+05:30
?
在此先感谢。
您可以使用
data = [2016, 6, 2, 16, 55, 52, 931];
var thisDate = new (Function.prototype.bind.apply(Date, [null].concat(data)));
在这里,我们基本上是通过Date
功能与您的数据阵列中的所有元素编程。
ALTER
这种方法会有点长,但会给你一个时间戳,通过它可以转换成任何甲
function convertToTimeStamp (array) {
var str = array[0] + "," + array[1] + "," + array[2];
_ts = new Date(str).getTime()
timeStamp = _ts + (array[3]*3600 + array[4]*60 + array[5])*1000 + array[6];
return timeStamp;
}
现在你可以调用convertToTimeStamp(array)
获得Timestamp值
您可以将时间戳转换为任何格式,将其转换为日期对象 new Date(timeStamp)
它给出无效的日期 –
你确定你正在传递数据,因为它完全为我工作。 – MegaMind
是的,我确定。因为之前我正在使用dropwizard框架工作,并且工作完美,现在我切换到弹簧,那么它不起作用 –
你使用弹簧mvc或jersy? – Jaiwo99
我使用了角度js v1.3.16,运动衫客户端v2.22.2和spring。 –