我想爲今天,明天和之後的一天填寫一個列表框,以及祈禱節目。 XML具有日期和月份的值,而不是年份。 除非明天或明天是在明年,否則查詢的工作沒有問題。 然後,列表顯示01.01的第一個值,然後是02.01和最後的31.12的值。按日期排序listBox,並顯示日期爲「dddd」後跟日期?
問題: 1)如何對它進行排序,使其按照日期排序。 2)如何解決「日期」,這樣的價值顯示爲星期一01.01.2012而不是「01.01.2012 12:00 AM」 2)如何顯示01.01和02.01爲2013年,而不是2012年,因爲年份發生變化。
這說明像這樣在我的列表框:
01.01.2012 12:00AM
Fajr 07:00
Soloppgang 09:19
etc..
02.01.2012 12:00AM
Fajr 07:00
Soloppgang 09:19
etc..
31.12.2012 12:00AM
Fajr 07:00
Soloppgang 09:19
etc...
我要的是實現了整整一年而不是當nextDay或thirdDay是在明年的結果。
我的XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<WIMPrayerTable>
<Prayertime
Day ="1"
Month="1"
Fajr="07:00"
Soloppgang="09:19"
Zohr="12:26"
Asr="13:36"
Maghrib="15:26"
/>
<Prayertime
Day ="2"
Month="1"
Fajr="07:00"
Soloppgang="09:19"
Zohr="12:25"
Asr="13:33"
Maghrib="15:23"
Isha="17:39"
/>
//在今年的其餘部分則在此之間。我不顯示在這裏
我的課:
public class Bonn3
{
public string Fajr { get; set; }
public string Soloppgang { get; set; }
public string Zohr { get; set; }
public string Asr { get; set; }
public string Maghrib { get; set; }
public string Isha { get; set; }
public string Jumma { get; set; }
public DateTime Date { get; set; }
}
我的查詢:
DateTime myDay = DateTime.Now;
DateTime NextDay = myDay.AddDays(1);
DateTime thirdDay = myDay.AddDays(2);
var filteredData = from c in loadedCustomData.Descendants("Bønnetid")
where c.Attribute("Dag").Value == myDay.Day.ToString() && c.Attribute("Måned").Value == myDay.Month.ToString()
|| c.Attribute("Dag").Value == NextDay.Day.ToString() && c.Attribute("Måned").Value == NextDay.Month.ToString()
|| c.Attribute("Dag").Value == thirdDay.Day.ToString() && c.Attribute("Måned").Value == thirdDay.Month.ToString()
select new Bonn3()
{
Date = new DateTime(myDay.Year,int.Parse(c.Attribute("Måned").Value),int.Parse(c.Attribute("Dag").Value)),
Fajr = c.Attribute("Fajr").Value,
Soloppgang = c.Attribute("Soloppgang").Value,
Zohr = c.Attribute("Zohr").Value,
Asr = c.Attribute("Asr").Value,
Maghrib = c.Attribute("Maghrib").Value,
Isha = c.Attribute("Isha").Value,
};
listBox1.ItemsSource = filteredData;
謝謝。如何將Date = new DateTime顯示爲shortDatestring?現在它顯示「05/13/2012 12:00:00 AM」 – Megaoctane
你幾乎自己給出了答案:http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx –
我試過這但它不起作用。我得到日期的代碼是:Date = new DateTime(myDay.Year,int.Parse(c.Attribute(「Month」)。Value),int.Parse(c.Attribute(「Day」)。Value)) '我應該在哪裏放置.ToShortDateString()。它只是標記一切紅色,如果我把它放在末尾 – Megaoctane