正如主题所说,我有一个字符串
string CreatedDate = "12/09/2010"
我想将它传递给一个只接受它作为 DateTime 的 web 方法
customer.dateCreated = Convert.ToDateTime(CreatedDate);
自然它会在 Web 服务不接受的日期之后添加 hh:mm:ss 那么当我将日期转换为日期时如何将日期保持为短格式?
提前致谢
正如主题所说,我有一个字符串
string CreatedDate = "12/09/2010"
我想将它传递给一个只接受它作为 DateTime 的 web 方法
customer.dateCreated = Convert.ToDateTime(CreatedDate);
自然它会在 Web 服务不接受的日期之后添加 hh:mm:ss 那么当我将日期转换为日期时如何将日期保持为短格式?
提前致谢
一个DateTime
值不知道它的格式(实际上它不应该知道)。如果您的网络服务不接受标准日期/时间格式,听起来您的网络服务已损坏。Web服务的实现是什么?“客户”是自动生成的代理类吗?
DateTime
具有.Date
剥离时间信息的属性。
假设你有:
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"));
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);
大多数时候都能解决问题。