簡體   English   中英

保存后,輸入=“日期”在數據庫中的無效值

[英]input=“date” invalid value in database after save

從輸入類型為“ date”的日期選擇器中選擇日期后,將其錯誤地存儲到數據庫中。

我從datepicker中選擇日期,然后使用AngularJS將其發送到Spring MVC

angularJS:

$scope.updateProjectDetails = function(detail) {
    $http.post('${pageContext.request.contextPath}/api/details', detail)
    .then(function(response) {
        console.log(response)
    });
}

chrome控制台:

config: {method: "POST", transformRequest: Array(1), transformResponse: Array(1), paramSerializer: ƒ, url: "/editor-application/api/details", …}
data:
date: 1557439200000
hours: 2
id: 76
projectId: 53

1557439200000-> 5/10/2019,12:00:00 AM

然后將JSON發布到MVC機制:

控制器:

@PostMapping(path = "/details")
public ProjectDetails updateProjectDetails(@RequestBody ProjectDetails details) {

    details.setId(0);
    editorService.updateProjectDetails(details);
    return details;
}  

道:

@Override
@Transactional
public void updateProjectDetails(ProjectDetails details) {

    Session currentSession = sessionFactory.getCurrentSession();
    currentSession.saveOrUpdate(details);
}

和數據庫:

76 2019-05-09 2 53

日期始終為-1天,我知道存在時區問題,但是該如何解決呢?

我一直發現以下作品:

// from the server
$http.get('myDate').then(date => // date === 1557439200000
    new Date(date-(new Date(date).getTimezoneOffset()*60*1000)).toISOString().slice(0,10)
)

這有點樣板,但可以完成工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM