【问题标题】:Cache Intersystems %TIMESTAMP error缓存 Intersystems %TIMESTAMP 错误
【发布时间】:2012-11-26 11:57:05
【问题描述】:

我是 Intersystems Cache 的新手,并从我通过 .NET 应用程序调用的 Web 服务返回 %Timestamp 属性时收到以下错误:

[System.FormatException] = {"The string '2012-11-22T20:00Z' is not a valid AllXsd value."}

有谁知道我如何在返回之前将%Timestamp 属性重新格式化为欧洲日期/时间格式?

谢谢,

哦。

【问题讨论】:

    标签: timestamp intersystems-cache intersystems


    【解决方案1】:

    看起来您正在使用 SOAP? 如果是这样,请查看 LogicalToXSD(..) 方法。 (并考虑参数 XMLTIMEZONE)。

    如果只需要转换实际值$ZTS is your friend

    【讨论】:

      【解决方案2】:

      执行此操作的代码可在 %Library.TimeStamp 类的 LogicalToXSD 类方法中找到。查看代码,它并不打算支持不同的日期/时间格式。

      您可以将属性从数据类型TimeStamp 更改为数据类型EuropeanTimeStamp,这是您创建为%Library.TimeStamp 子类的类。然后,您可以覆盖 LogicalToXSDXSDToLogical 方法。

      显然,您使用的任何格式都是 Web 服务的所有消费者都将获得的格式。

      您也可以在.NET 方面处理此问题。如果您可以告诉正在使用 Web 服务的任何内容,所讨论的属性是一个字符串,那么您可以稍后将其转换为日期/时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-20
        • 1970-01-01
        • 2020-08-18
        • 1970-01-01
        • 2022-11-24
        • 1970-01-01
        相关资源
        最近更新 更多