繁体   English   中英

如何在C#中执行Convert.ToDateTime或解析日期,但在C#2.0中仅获得dd / mm / yyyy?

[英]How to do Convert.ToDateTime or parse date in C# but only get dd/mm/yyyy in C# 2.0?

正如主题所说,我有一个像

string CreatedDate = "12/09/2010"

我想将其传递给仅将其作为DateTime接受的Web方法

customer.dateCreated = Convert.ToDateTime(CreatedDate);

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

提前致谢

DateTime值不知道其格式(实际上也不应该 )。 如果不接受标准的日期/时间格式,听起来您的Web服务已损坏。 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) ,而date应该采用指定的格式,则:

DateTime date = ..;
WebMethod(date.ToString("dd/MM/yyyy"));

WebService是否接受仅“ 12/09/2010”作为日期? 通常,Web服务应遵循此处的建议XML模式第2部分:数据类型第二版

这是UTC格式。 使用方法:

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

大多数时候解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM