我正面臨以下問題,我有一個使用angular和java的應用程序。客戶端在一個頁面中選擇某個日期和時間,例如2015-04-03 15:00這個數據被放在JavaScript對象中作爲日期,然後這個數據被提交給我的服務器,但它接收服務器將該日期/時間轉換爲他的時區節省2015-04-03 16:00而不是15:00作爲客戶端發送。服務器端更改客戶端發送的日期/時間
後,我提交數據時,我重新加載頁面顯示爲1小時少
將數據發送到服務器的日期,其中被持久化到數據庫服務器。注意有一個console.info()可以打印日期時間。它正在打印正確的日期/時間。用戶選擇的日期/時間。
$scope.confirmCallback = function() {
$scope.schedule.client = $scope.client;
$scope.schedule.type = 'CONTACT';
console.info($scope.schedule.date); //PRINTS OK DATE/TIME
ScheduleRepository.create($scope.schedule).then(function() {
Alert.success('views.schedule.message.successSaved');
$scope.schedule = {};
$scope.tableSchedules.reload();
}, function() {
});
}
這是在我的服務器端接收請求的控制器上。如果我檢查json,請求到達服務器的那一刻,我可以看到日期時間值與我發送的日期時間值不同。我猜是在客戶端和服務器端與時區相關的東西。
@Dynamic("CREATE_SCHEDULE, EDIT_SCHEDULE")
public static Result save() {
try {
JsonNode request = request().body().asJson();//SHOWS DIFFERENT DATE/TIME
ScheduleClient scheduleClient = JSONUtils.fromJson(request, ScheduleClient.class);
任何建議如何解決這個問題?在此先感謝
不清楚發送給服務器的是什麼,日期或字符串表示。這會有所作爲。還有什麼證據表明發球會改變它。 – redge
問題不明。請提供一些代碼。 – squill25
@Ignaus是發送到服務器的日期。一個Java腳本對象的日期與上面提到的值。當服務器得到日期以某種方式改變發送的日期。我還增加了關於這個問題的更多信息。 – vinyoliver