首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLGregorianCalendar 2010-12-21T08:55:17E-7+01:00 E-7。E-7是什么意思?

XMLGregorianCalendar 2010-12-21T08:55:17E-7+01:00 E-7。E-7是什么意思?
EN

Stack Overflow用户
提问于 2010-12-23 18:54:27
回答 2查看 4.4K关注 0票数 2

从SOAP the服务中,日期字段以字符串的形式返回:

代码语言:javascript
复制
2010-12-21T08:55:17E-7+01:00

.NET在解析时遇到了问题。Jax在这方面没有问题。E-7是什么意思。在java服务器中,我能做些什么来标准化它。

编辑:我有一个java服务器,它充当多个服务器的转换,带有错误的时间戳。一旦它被jax解析了,我能做什么来规范化它呢?.normalise()会给我一个我不确定我想要的UTC。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-23 19:02:03

在ISO8601 time you always处理Z= Zulu for UTC,但也有其他军事时区(不是标准的一部分):

http://www.navycs.com/militarytime.html

E代表Echo,表示UTC + 5时区。

不过,我对-7和+01:00部分没有解释。

编辑:更新了帖子,以明确Z是ISO 8601次唯一允许的符号。

票数 1
EN

Stack Overflow用户

发布于 2010-12-23 19:02:53

对之前的误读深表歉意。我可以确认.NET不能解析它,如下所示:

代码语言:javascript
复制
using System;
using System.Runtime.Remoting.Metadata.W3cXsd2001;

class Test
{    
    static void Main()
    {
        string x = "2010-12-21T08:55:17E-7+01:00";
        DateTime dt = SoapDateTime.Parse(x);
        Console.WriteLine(dt);
    }
}

老实说,它看起来像是一个糟糕的SOAP服务。查看关于SOAP的各种文档,SOAP日期/时间值看起来应该是ISO8601格式的xsd:dateTime值-我在Wikipedia ISO 8601 page中看不到任何允许这样做的内容。当然,维基百科有可能是不准确的,但更有可能的是SOAP服务中的一个bug,IMO。

我建议你看一下服务的头文件,看看它是否给出了关于底层平台的提示……然后查找针对该平台报告的产生无效日期/时间值的错误。

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

https://stackoverflow.com/questions/4518081

复制
相关文章

相似问题

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