c++ - 使用 gSOAP 以本地时间而不是 UTC 返回日期时间

标签 c++ datetime xsd timezone gsoap

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

this link听起来 gsoap 将始终使用 UTC(“time_t 值由序列化程序考虑并以 UTC 表示。”)。我也已经搜索过标志 here ,但我找不到适合我的用例的标志。

最佳答案

在内部 soap_dateTime2s 函数 ( as found here ) 的实现中,它似乎测试了几个配置标志(可在 config.h 中设置)。

我还没有测试过,但似乎要获得本地时间的输出,HAVE_GMTIME_RHAVE_GMTIME 需要未定义。

关于c++ - 使用 gSOAP 以本地时间而不是 UTC 返回日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47430054/

相关文章:

c++ - 超时后如何终止函数调用?

c++ - 使用 Boost 线程监控对象队列

带有宏的 C++ 嵌套命名空间

javascript - 获取本地时间和远程时间之间的时差

excel - Excel中计算两个日期之间假期数的公式

java - java 8 中澳大利亚/墨尔本时区的日期时间日光节约问题

c# - 从类、代码生成 XSD

PHP Web 服务客户端 : Guzzle and xsd

使用 XSD 进行 PHP SimpleXMLElement 验证

c++ - 在两个 C++ 程序之间交换消息