1

遇到问题我只知道如何使用 DateTime 来显示我的结果,如下所示:

    {

            string uri = "http://localhost:8002/Service/HireDate";
            XDocument xDoc = XDocument.Load(uri);
            var staff = xDoc.Descendants("HireDate")
                .Select(n => new
                {
                    StartDate = DateTime.Parse(n.Element("HireFromDate").Value), //this line
                    EndDate = DateTime.Parse(n.Element("HireToDate").Value), //this line
                    TotalDaysHired = n.Element("NumberOfDaysHired").Value,
                })
                .ToList();

            dataGrid9.ItemsSource = staff;

    }

然而,这在我的数据网格中输出如下:

15/07/2012 00:00:00
27/07/2012 00:00:00

有没有办法删除我只想要日期的时间?

4

5 回答 5

6

所以你只想显示a as的Date一部分?您可以使用最易读的:DateTimeStringDateTime.ToShortDateString()

StartDate = DateTime.Parse(n.Element("HireFromDate").Value).ToShortDateString()
于 2012-07-25T11:57:47.220 回答
4

要将没有时间的日期作为字符串获取,您可以使用ToShortDateString自定义格式选项提供给ToString

var dateString = DateTime.Now.ToString("dd/MM/yyyy");
var shortDate = DateTime.Now.ToShortDateString();

文化在这两种格式中都被考虑在内,ToShortDateString并且ToString具有自定义格式(尽管格式仍然是您自己的)。ToShortDateString当前的文化可能更准确,因为它包含给定文化的正确格式。

于 2012-07-25T11:57:07.050 回答
0

您可以使用 DateTime.ParseExact 函数。

例如:

        XDocument xDoc = XDocument.Load(uri);

        var staff = xDoc.Descendants("HireDate")
            .Select(n => new
            {
                StartDate = DateTime.ParseExact(n.Element("HireFromDate").Value, "dd/MM/yyyy", null), //this line
                EndDate = DateTime.ParseExact(n.Element("HireToDate").Value, "dd/MM/yyyy", null), //this line
                TotalDaysHired = n.Element("NumberOfDaysHired").Value,
            })
            .ToList();

        dataGrid9.ItemsSource = staff;
于 2012-07-25T11:59:14.190 回答
0

当您输入日期时间时,您可以使用 ToString(string format) 方法设置正确的格式。

在这里您可以找到一些格式示例:http: //msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

 StartDate = DateTime.Parse(n.Element("HireFromDate").Value).ToString("dd/MM/yyyy"),
 EndDate = DateTime.Parse(n.Element("HireToDate").Value).ToString("dd/MM/yyyy")
于 2012-07-25T11:59:22.493 回答
0
EndDate = DateTime.Parse(n.Element("HireToDate").Value).ToShortDateString()
于 2012-07-25T11:59:46.567 回答