C#ToShortDateString

时间:2012-03-09 19:03:32

标签: c#

我在vb中写了这段代码:

expireDate = (DateTime.Parse(decal.DecalExpireDate).ToShortDateString).ToString

现在我正在尝试在c#中编写相同的代码,这就是我想出的:

expireDate = decal.DecalExpireDate.ToString();
expireDate = DateTime.Parse(expireDate).ToShortDateString();

有没有人知道如何简化c#代码,因此它只有一行和两行。让我感到烦恼的是我可以用vb在一行中完成,但不能在c#中。

decal.DecalExpireDate是我用linq检索的smallDateTime。 expireDate是我在函数

中返回的字符串

5 个答案:

答案 0 :(得分:2)

expireDate = DateTime.Parse(decal.DecalExpireDate.ToShortDateString()).ToString();

或者,更好的是,

expireDate = decal.DecalExpireDate.Date.ToString();

答案 1 :(得分:1)

几乎就是你在VB中的表现:

    expireDate = DateTime.Parse(decal.DecalExpireDate.ToString()).ToShortDateString();

答案 2 :(得分:1)

没有必要在这里调用Parse,因为你从一个可以为空的DateTime开始(根据你的评论)。实际上,如果您尝试在日期为空时解析日期,则会收到错误消息。

只要贴花到期日期不为空,这将有效:

var expireDate = decal.DecalExpireDate.Value.ToShortDateString();

为了更安全,您应首先检查null:

var expireDate = decal.DecalExpireDate != null ? decal.DecalExpireDate.Value.ToShortDateString() : null;

您可以在此处详细了解可空类型:http://msdn.microsoft.com/en-us/library/2cf62fcy.aspx

答案 3 :(得分:0)

var expireDate = DateTime.Parse(decal.DecalExpireDate).ToShortDateString;

答案 4 :(得分:0)

SmallDateTime应该已经作为DateTime格式返回(SQL-CLR Type Mapping (LINQ to SQL))。

应该如此简单:

expireDate = decal.DecalExpireDate.ToShortDateString();