如何以YYMMDDHHMMSSNNN格式获取时间戳

时间:2014-11-20 11:05:20

标签: c# web-services soap timestamp

我正在升级将SOAP请求发送到Web服务的应用程序。新的网络服务有一些强类型字段,其中一个是“TimeStamp”字样。具有以下定义:

array          false 
mandatory      true 
output         false 
input          true 
xsdType        xsd:long 
Length  
Values  
maxVal         990101000000000 
minVal         131105100000000 
nativeFormat   9999999999999999 
default None 
description    Balance TimeStamp YYMMDDHHMMSSNNN 

所以我尝试过以下但我无法正确操作并抛出异常" String未被识别为有效的DateTime。"

 wsSoapBody.TimeStamp = Convert.ToInt64(DateTime.ParseExact _
(DateTime.Now, "YYMMDDHHMMSSNNN",System.Globalization.CultureInfo.InvariantCulture));

那么我在这里错过或出错了什么?

2 个答案:

答案 0 :(得分:4)

如果您想将日期转换为上述格式,则ParseExact不是必需的。它用于将给定格式的字符串解析为DateTime。对于您的问题,您只需要:

Convert.ToInt64(DateTime.Now.ToString("yyMMddHHmmssfff", CultureInfo.InvariantCulture))

答案 1 :(得分:3)

时间字符串格式区分大小写

 wsSoapBody.TimeStamp = Convert.ToInt64(DateTime.ParseExact _
   (DateTime.Now, "yyMMddHHmmssfff",System.Globalization.CultureInfo.InvariantCulture));