VB.NET XML以错误的格式反序列化日期

时间:2017-03-27 08:34:56

标签: .net xml vb.net date

这是我的第一个问题,温柔:)

我正在尝试将XML文件读入我的应用程序。 XML文件遵循GS1 Warehousing Outbound Instruction标准,并包含[-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]格式的日期,我认为这是某种XML规范?

我使用xsd.exe从GS1提供的.xsd文件中生成了一些VB.net类。这些类工作正常,但由于某种原因,它无法以正确的格式解析日期。具体而言,如果日期小于13,它会以YYYY-DD-MM格式解析日期,从而导致日期不正确。

我不确定如何让我的应用程序以正确的格式阅读日期?

    ' we use FTP to transfer the files
    Dim clsRequest As System.Net.FtpWebRequest =
            DirectCast(System.Net.WebRequest.Create(EndpointRoot & RecvFolder & "/" & filename), System.Net.FtpWebRequest)
    clsRequest.Method = Net.WebRequestMethods.Ftp.DownloadFile
    clsRequest.Credentials = New System.Net.NetworkCredential(FtpUsername, FtpPassword)

    ' variable declaration and other stuff

    ' this happens in a try-catch block
    resp = clsRequest.GetResponse()
    respstream = resp.GetResponseStream()
    reader = New IO.StreamReader(respstream)

    Dim ser As New Serialization.XmlSerializer(GetType(WarehousingOutboundInstructionMessageType))
    doc = ser.Deserialize(reader)
    ' Deserializes the document fine, but dates suchs as 2017-03-12 are parsed as 3rd of December, 2017

我们的计算机与芬兰语版本一样,但我不确定这会如何影响,因为芬兰的日期格式为dd.mm.yyyy

1 个答案:

答案 0 :(得分:0)

Nvm,当我把它保存到数据库时,我错误地处理了这个日期。