リストボックスに、今日、明日、翌日の祈りの時間を入れたいと思います。 XMLには、年ではなく、日と月の値があります。 明日または明日の翌日が翌年でなければ、問合せは問題なく動作します。 次に、01.01の値と02.01の値と31.12の値がリストに表示されます。リストボックスを日付順にソートし、日付を「dddd」に続けて日付を表示しますか?
質問: 1)日付に応じて昇順に並べ替える方法 2) "Date"を修正する方法。この値は "01.01.2012 12:00 AM"ではなく、月曜日01.01.2012として表示されます。 2)01.01と02.01を2012年ではなく2013年に表示する方法。
これは私のリストボックスで、次のように示しています
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