使用c#将标准日期时间格式转换为给定格式

本文关键字:格式 转换 定格 时间 标准 日期 使用 | 更新日期: 2023-09-27 17:59:55

我需要将c#中的Datetime转换为2002-09-24+06:00的特定格式。

我希望结果是Datetime变量,而不是字符串,因为我需要将其传递给SOAP调用,该调用需要该格式的Datetime。

我怎样才能得到这个结果?

使用c#将标准日期时间格式转换为给定格式

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