1

正如主题所说,我有一个字符串

string CreatedDate = "12/09/2010"

我想将它传递给一个只接受它作为 DateTime 的 web 方法

customer.dateCreated = Convert.ToDateTime(CreatedDate);

自然它会在 Web 服务不接受的日期之后添加 hh:mm:ss 那么当我将日期转换为日期时如何将日期保持为短格式?

提前致谢

4

4 回答 4

2

一个DateTime值不知道它的格式(实际上它不应该知道)。如果您的网络服务不接受标准日期/时间格式,听起来您的网络服务已损坏。Web服务的实现是什么?“客户”是自动生成的代理类吗?

于 2010-11-23T11:22:45.653 回答
1

DateTime具有.Date剥离时间信息的属性。

于 2010-11-23T11:21:59.780 回答
1

假设你有:

void WebMethod(DateTime date);

string dateString = "12/09/2010";

然后下一步:

DateTime date;
if (DateTime.TryParseExact(dateString, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
    WebMethod(date);
}
else
{
    // raise an error - specified date is not in specified format
}

笔记:

date.Hour // 0
date.Minute // 0
date.Seconds // 0

否则,如果您有DateTime对象并且WebMethod(string date)日期应采用指定格式,则:

DateTime date = ..;
WebMethod(date.ToString("dd/MM/yyyy"));
于 2010-11-23T11:25:21.823 回答
1

WebService 是否只接受“12/09/2010”的日期?通常,Web 服务应遵循此处的建议 XML Schema Part 2: Datatypes Second Edition

这是UTC格式。使用:

DateTime.ParseExact(value, "ddd MMM dd HH:mm:ss zz00 yyyy", null);

大多数时候都能解决问题。

于 2010-11-23T11:38:42.190 回答