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*
を使用している場合、正しく日付を扱うの世話をします。
- 表示
formatOptions
にUTC: true
を追加することにより、UTCの日付。 isDateOnly
をconstraints
に追加することで、の日付を保存します。真の、唯一の日付部分を使用する場合は、時刻部分は常に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文字列を解析に違反しました。
- 内部で使用されているdatajsは、バックエンドに送信される前に適切にformats the dateです。
関連する問題
- 1. Excelの日付形式の不一致
- 2. 日付形式のエラータイプの不一致
- 3. データベースとWebアプリケーション間の日付の不一致
- 4. JavaScriptの日付メソッドの不一致 - getDateとgetMonthの比較
- 5. 日付 - アクセスの条件式のデータ型の不一致
- 6. excel:vba型の不一致比較の日付
- 7. js date-pickerとng-model日付文字列の不一致
- 8. Ruby&Railsの曜日の不一致?
- 9. Laravel/AngularアプリケーションのCSRFトークンの不一致
- 10. 日付と一致とグループ
- 11. 日付フィールドの一致の集計
- 12. ハイブ日付の形式の一致
- 13. Excelインデックス一致する日付範囲と一致する一致の合計
- 14. PHPの日付を一致させる
- 15. アクセス更新クエリ:ID一致、日付は2列の日付間
- 16. クエリ正確な日付と一致するAWS DynamoDBの日付
- 17. Regexから日付の日付と一致させる
- 18. DataGridViewの日付セルをデータベースの不一致エラーに更新するVb.net
- 19. 日付を使用した結合でのデータ型の不一致
- 20. セル付きのMATLABの添字付きディメンションの不一致
- 21. 不可能条件付き一致
- 22. パンダの日付列から不一致値を見つける方法
- 23. Parallel.ForEachの不一致
- 24. インラインブロックの不一致
- 25. トップレイアウトガイドの不一致
- 26. バージョンの不一致
- 27. レプリケーションの不一致
- 28. スカラリフトタイプの不一致?
- 29. Datepickerの不一致
- 30. シグネチャの不一致
この投稿を確認してください。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
btw、個人的には、このタイムゾーンの問題を解決するためにUI5に特別なデータ型を作成しました。データバインディング(つまり、カスタムデータ型を使用する日付プロパティにバインドされているDatePicker)とともに使用します。もしあなたが私がここでそれを共有することができます。オフセット差し引きで独自に修正することもできます。 –
[Odataサービスから日付/時刻をUIに正しく追加する方法]の複製がありますか?(https://stackoverflow.com/questions/47593990/how-to-add-date-time-from-an-odata- – boghyon