首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在本地时间返回dateTime,而不是使用gSOAP返回UTC

在本地时间返回dateTime,而不是使用gSOAP返回UTC
EN

Stack Overflow用户
提问于 2017-11-22 08:35:02
回答 3查看 592关注 0票数 1

我有一个使用gSOAP的soap服务器。其中一个请求在响应中包含一个xsd:dateTime字段。这个dateTime总是在UTC中返回,但是我想在本地时间返回dateTime。我将本地时间填充为time_t,然后将其转换为xsd:dateTime,gsoap将其自动转换为UTC。我能改变这种行为吗?

此链接中,听起来gsoap总是使用UTC (“序列化程序在UTC中考虑和表示time_t值”)。我也已经在这里标志中搜索过了,但是找不到用于我的用例的标志。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-22 18:36:39

在内部soap_dateTime2s函数(就像在这里发现的)的实现中,它似乎测试了几个配置标志(可在config.h中设置)。

我还没有进行测试,但似乎要获得本地时间的输出,HAVE_GMTIME_RHAVE_GMTIME需要不确定。

票数 0
EN

Stack Overflow用户

发布于 2018-08-08 02:25:05

若要使用本地时间而不是格林尼治时间,在./configure更改config.h后,如下所示:

代码语言:javascript
复制
/* Define to 1 if you have the `gmtime' function. */
//#define HAVE_GMTIME 1
#undef HAVE_GMTIME

/* Define to 1 if you have the `gmtime_r' function. */
//#define HAVE_GMTIME_R 1
#undef HAVE_GMTIME_R

然后让gsoap,现在soap_dateTime2s将返回时间在本地。

喜欢

2017年-10-24T02:28:41Z将返回2017年-10-24T10:28:41+08:00

票数 0
EN

Stack Overflow用户

发布于 2017-11-22 09:45:38

看来我想要的并不是那么容易。我假设我需要为xsd:dateTime编写自己的自定义序列化程序,类似于此链接中的示例。

不过,如果有人有更好的解决方案或任何建议如何编写这样的序列化程序,请告诉我您的想法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47430054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档