【发布时间】:2017-12-14 10:06:12
【问题描述】:
我从 Boostrap 日期选择器 (TimeRangeService.To 确切地说) 获得了一个时间戳:
}).on('changeDate', function (selected) {
var selectedDate = new Date(selected.date.valueOf());
TimeRangeService.To = String(selected.timeStamp);
$('#idTimeRangeFromInput').datepicker('setEndDate', selectedDate);
});
我需要将其解析为 Joda DateTime 对象:
DateTime from = new DateTime(Long.parseLong(fromStr));
但是每次当我在 DateTime 构造函数中选择任何日期并发送时间戳(解析为长)时,我都会得到带有今天日期的对象。
示例:我在 datepicker 中选择了 05/12/2017,但解析后,新的 DateTime 对象的日期为 14/12/2017。有什么解决办法吗?
【问题讨论】:
-
Long.parseLong(fromStr) 在您的情况下返回什么?
-
Long.parseLong(fromStr) 返回正常的 long 变量,因为 fromStr 是 String 且 DateTime 构造函数只接受 long 类型
-
同意!这些是毫秒。但是'fromStr'从哪里获取代码中的日期?
-
啊,是的,有毫秒。 fromStr 是一个 TimeRangeService.To 值,在 POST 请求中从前端发送。 TimeRangeService.To 是来自 Bootstrap datepicker 的时间戳(请参阅我的问题中的第一个代码示例)
-
好的。请尝试 DateTime from = new DateTime(Long.parseLong(fromStr), DateTimeZone.UTC);
标签: javascript java jodatime bootstrap-datetimepicker