我需要将c#中的Datetime转换为2002-09-24+06:00的特定格式。
我希望结果是Datetime变量,而不是字符串,因为我需要将其传递给SOAP调用,该调用需要该格式的Datetime。
我怎样才能得到这个结果?
DateTime
对象没有格式,只是将日期存储为值。如果您的Web服务需要特殊的格式,我很抱歉它需要string
。
你可以得到这样一个特殊格式的字符串:
String.Format("{YOUR_FORMAT}", YOUR_DATETIME_OBJECT);
如果您的SOAP需要类型xs:dateTime
,请尝试使用以下格式作为string
:
YOUR_DATETIME_OBJECT.ToString("o")
这将为您提供格式:YYYY-MM-DDThh:mm:ss
传递DateTime对象,但使用DateTime.ToString()
方法对其进行相应的格式化:
MSDN:自定义日期和时间格式字符串
后面的C#代码
protected void Page_Load(object sender, EventArgs e) {
DateTime dd;
String dd_format = "yyyy-MM-dd+HH:mm";
dd = new DateTime(2002, 9, 24, 6, 0, 0);
Response.Write(dd.ToString(dd_format) + "<BR />");
dd = new DateTime(2002, 9, 24, 13, 0, 0);
Response.Write(dd.ToString(dd_format) + "<BR />");
}
输出
2002-09-24+06:00
2002-09-24+13:00