我在UI5應用程序中有DatePicker。我的服務器在澳大利亞。當我在IST時間創建任何記錄時,它工作正常。但是,當用戶試圖在澳大利亞創建任何記錄時,日期值將增加1.即"31"
即"32"
。我需要考慮時區嗎?UI5中的日期不匹配應用程序
1
A
回答
0
prepareDatesToDisplay: function(oDate){ //to display dates from backend
var oTempDate = new Date(oDate);
oDate = new Date(oTempDate.getTime() + oTempDate.getTimezoneOffset() * (60000));
return oDate;
},
changeDateToUTC: function(oDate){ //for sending dates to backend
var oTempDate = new Date(oDate.setHours("00","00","00","00"));
oDate = new Date(oTempDate.getTime() + oTempDate.getTimezoneOffset() * (-60000));
return oDate;
},
0
UI5已經照顧妥善處理日期,如果你在你的DatePicker的value
綁定定義使用綁定類型sap.ui.model.odata.type.Date*
。
- 顯示通過添加
UTC: true
到formatOptions
在UTC的日期。 商店加入
isDateOnly
: true
到constraints
在UTC日期。如果使用真實的,只是日期部分,時間部分始終是00:00:00,時區是UTC 避免時區相關的問題。
sap.ui.getCore().attachInit(() => sap.ui.require([
"sap/ui/model/odata/v2/ODataModel",
], ODataModel => sap.ui.getCore().getMessageManager().registerObject(sap.ui.xmlview("myView", {
// VIEW
viewContent: `<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">
<DatePicker id="myDatePicker"
binding="{
path: '/Employees(1)',
parameters: {
select: 'EmployeeID, HireDate'
}
}"
value="{
path: 'HireDate',
type: 'sap.ui.model.odata.type.DateTime',
formatOptions: {
UTC: false
},
constraints: {
isDateOnly: true,
displayFormat: 'Date'
}
}"
width="12rem"
/>
</mvc:View>`,
// MODEL
}).setModel(new ODataModel({
serviceUrl: "https://cors-anywhere.herokuapp.com/services.odata.org/V2/Northwind/Northwind.svc/",
defaultBindingMode: "TwoWay",
tokenHandling: false,
})).placeAt("content"), true)));
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap"
data-sap-ui-libs="sap.ui.core, sap.m, sap.ui.unified"
data-sap-ui-theme="sap_belize"
data-sap-ui-preload="async"
data-sap-ui-compatVersion="edge"
data-sap-ui-xx-waitForTheme="true"
></script><body id="content" class="sapUiBody sapUiSizeCompact"></body>
- 的結合類型,只要解析天然JS日期對象,並將其存儲在模型傳入Emd.DateTime字符串作爲約束 AREN沒有違反。
- datajs在內部使用,formats the date在發送到後端之前正確使用。
相關問題
- 1. UI5應用程序
- 2. SQL Server 2012日期時間格式與我的應用程序不匹配
- 3. R中的匹配日期
- 4. 防止日期不匹配
- 5. 在Openrefine中匹配不同的日期
- 6. 應用程序開發中的應用程序可用日期?
- 7. SVN日誌錯誤日期不匹配
- 8. pandas.tslib.Timestamp日期匹配
- 9. 日期選擇器日期和選定日期不匹配?
- 10. 定期匹配日期
- 11. 如何拆分ui5應用程序
- 12. 日期與不同的編程語言不匹配系統日期
- 13. 按不匹配的日期連接表
- 14. 日期格式的SQL Server不匹配
- 15. 天的日期()和Calendar.dateComponents不匹配
- 16. 在sqldf的匹配日期
- 17. Grails的匹配日期
- 18. 從其他行匹配日期匹配
- 19. 供應配置文件和應用程序名稱不匹配
- 20. 匹配SQL日期與.NET日期
- 21. php - 日期中的星期匹配日期()/ time()
- 22. Windows應用商店中的應用程序的日期選擇器空日期
- 23. Laravel/Angular應用程序中的CSRF令牌不匹配
- 24. 異常設計與應用程序中的要求不匹配
- 25. PHP中的日期匹配和插值
- 26. 匹配接近的日期在Lua中
- 27. 在應用程序中動態更改sap ui5應用程序區域設置
- 28. Excel日期格式不匹配
- 29. SSRS日期參數不匹配
- 30. PHP和Javascript日期不匹配
請檢查這個帖子https://stackoverflow.com/questions/10087819/convert-date-to-another-timezone-in-javascript。並在這個答案關於http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329。 – n01dea
順便說一句,我已經在UI5中創建了一個特殊的數據類型來解決這個時區問題,我將它與數據綁定一起使用(即DatePicker綁定到使用自定義數據類型的某個日期屬性)。如果你想我可以在這裏分享。您也可以通過偏移減法自行修復它。 –
[如何從Odata服務正確添加日期/時間到UI中?](https://stackoverflow.com/questions/47593990/how-to-add-date-time-from-an-odata-服務正確進入UI) – boghyon