我在我的模式中使用angular-material-datetimepicker來輸入日期和時間。但是,angular在json中發送所有數據服務器端,並將時間更改爲UTC。在重新加載我的客戶端時,顯示我不想要的UTC時間。我如何讓客戶端顯示當地時間(在我的情況下是GMT + 2)?我如何操縱json字符串的日期部分?我在其他類似SO q和論壇上看到了令人困惑的解決方案。謝謝。Angularjs datetime-picker timezone
在HTML模式
<div class="time">
<md-input-container class="md-input-has-placeholder start_time">
<label>Start Date/Time</label>
<input mdc-datetime-picker="" date="true" time="true" type="text" id="datetime" placeholder="Start" min-date="date" format="DD/MM/YYYY hh:mm" ng-model="Project.StartAt" class=" md-input">
</md-input-container>
<md-input-container class="md-input-has-placeholder endtime">
<label>End Date/Time</label>
<input mdc-datetime-picker="" date="true" time="true" type="text" id="datetime" placeholder="End" min-date="date" format="DD/MM/YYYY hh:mm" ng-model="Project.EndAt" class=" md-input">
</md-input-container>
</div>
角
$scope.editProject = function(data) {
$scope.showSelected = true;
$scope.SelectedProject = data;
var fromDate = moment(data.start).format('DD/MM/YYYY LT');
var endDate = moment(data.end).format('DD/MM/YYYY LT');
$scope.Project = {
ProjectID : data.projectID,
Client : data.client,
Title : data.title,
Description: data.description,
Employees: data.employees,
StartAt : fromDate,
EndAt : endDate,
IsFullDay : false
}
$scope.ShowModal()
},
$scope.ShowModal = function(){
$scope.option = {
templateUrl: 'modalContent.html',
controller: 'modalController',
controllerAs: '$ctrl',
backdrop: 'static',
resolve: {
Project : function() {
return $scope.Project;
},
SelectedProject : function() {
return $scope.SelectedProject;
},
projects: function() {
return $ctrl.projects;
}
}
};
var modal = $uibModal.open($scope.option);
modal.result.then(function (data) {
$scope.Project = data.project;
switch (data.operation){
case 'Save':
//Save here
$http({
method: 'POST',
url: '/',
data: $scope.Project
}).then(function(response){
if(response.data.status){
$scope.projects.push(Project);
}
})
break;
我改爲通過添加時刻時區庫解決。 –