是否有定义应在 SAP Netweaver Gateway 服务的 OData Edm:DateTime 中发送哪些值?
特别是它应该始终被解释为 UTC 吗?
我假设 SAPUI5 库足够智能,如果接口定义正确,可以自动处理所有这些时区问题 - 问题是,什么是正确的?
我更喜欢在客户端使用这样的代码:
new sap.m.DatePicker({
value : {
path : "BirthDate",
type : new sap.ui.model.type.Date
}
}),
你如何解决这些问题?
Edit
时区处理对我来说似乎仍然很奇怪。
SAP 网关服务器发送以下 Edm:DateTime:2015-04-16T00:00:00
缺少任何时区信息。
如果我像这样绑定日期选择器:
var oContent = new sap.m.DatePicker({
value : {
path : "Date",
type : new sap.ui.model.type.Date({
style: "short",
})
}
})
我得到以下输出:16.04.15(似乎是正确的)。
绑定没有类型信息的日期选择器显示: Thu Apr 16 2015 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
如果我使用日期选择器将日期更改为 2015 年 4 月 17 日,第二行是:
2015 年 4 月 17 日星期五 00:00:00 GMT+0200(欧洲中部夏季时间)
请注意时间差异(缺少 2 小时)。
如果我将其发送到服务器,我会得到 Edm.DateTime == 2015-04-16T00:00:00
控制显示:
2015 年 4 月 16 日星期四 02:00:00 GMT+0200(欧洲中部夏季时间)
If I use
new sap.m.DatePicker({
value : {
path : "Date",
type : new sap.ui.model.type.Date({
style: "short",
UTC: true
})
}
})
数据似乎是正确的(选择新日期后 2 小时并没有丢失)。
我问我,有没有定义什么类型的数据网关将发送?
如果 Edm.DateTime 信息中缺少时区,客户端应如何正确工作?特别是当客户位于不同时区时?
奇怪的是,我使用过滤器也遇到了类似的问题。但 UTC 标志似乎不起作用。
任何人在该主题上有一些经验吗?或者有什么关于好的文档的提示吗?
*https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/91f3070d6f4d1014b6dd926db0e91070.html https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/91f3070d6f4d1014b6dd926db0e91070.html或多或少地说“保重”,但没有说如何:-/
更多信息
我在 SAP 网络上检测到同样的问题(http://scn.sap.com/thread/3574419 http://scn.sap.com/thread/3574419)。不确定给出的答案是否正确。看起来像是在修改不需要的元数据?
我仍在寻找这个问题的解决方案
我检测到在绑定和过滤器使用的情况下对数据的不同处理。