私は、標準時+ DST( "20110710115500 +1200")を実際の時間に変換するプロジェクトに取り組んでいます。EPG XML時刻をUTCに変換する方法 - Silverlight - WP7
これはXMLファイル上にあり、データをプル&表示することができますが、私はそれを読み取り可能なように変換しようとしています。
例:..「20110710115500 1200」11時55分00秒2011年10月7日
に私は、Visual Studioと銀の光を使用して、そのWindowsの携帯電話アプリケーション用しています。
私はTimeZoneInfo.ConvertTimeToUtcメソッド(DateTime、TimeZoneInfo)について読んできましたが、それはうまく動作しないようで、誰かが正しい方向に向けることを望んでいました。
おかげ
マイコード.....のStartTimeと終了時間と私は変更する必要がある日付。
EDIT:コードを変更して更新しましたが、エミュレータで実行しようとするとエラーが表示されます。
ERROR:
「のDateTimeに文字列を変換する場合、日付時刻オブジェクトに各変数を入れる前に、日付を取るために文字列を解析」
に注意:C#の学習についてのあなたの権利を、私は現在ac#の本を通って自分の道を進んでいます。これに助けてくれてありがとう。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using System.Xml;
using System.Xml.Linq;
namespace tvGuide
{
public partial class TV2 : PhoneApplicationPage
{
public TV2()
{
InitializeComponent();
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
WebClient c = new WebClient();
c.DownloadStringCompleted += new DownloadStringCompletedEventHandler(c_DownloadStringCompleted);
c.DownloadStringAsync(new Uri("http://www.designized.com/tv/freeview.xml?"));
}
void c_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
var r = XDocument.Parse(e.Result);
listBox2.ItemsSource = from tv in r.Root.Descendants("programme")
let channelE1 = tv.Attribute("channel")
let nameEl = tv.Element("title")
let urlEl = tv.Element("desc")
let startE1 = tv.Attribute("start")
let endE1 = tv.Attribute("stop")
//let iconEl = tv.Element("icon")
select new TV2guide
{
DisplayName = nameEl == null ? null : nameEl.Value,
ChannelName = channelE1 == null ? null : channelE1.Value,
ChannelURL = urlEl == null ? null : urlEl.Value,
StartTime = startE1 == null ? (DateTime?)null : DateTime.Parse(startE1.Value),
EndTime = endE1 == null ? (DateTime?)null : DateTime.Parse(endE1.Value),
//ImageSource = iconEl == null ? null : iconEl.Attribute("src").Value,
};
}
private void button3_Click_1(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}
private void button4_Click_1(object sender, RoutedEventArgs e)
{
NavigationService.GoBack();
}
}
public class TV2guide
{
public string DisplayName { get; set; }
public string ChannelURL { get; set; }
public string ImageSource { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public string ChannelName { get; set; }
}
}
12時間の時間差の例を選択したので、オフセットを考慮するかどうかは不明です。異なるタイムゾーンオフセットの例を挙げてください。 (途中で12時間はDSTではありません... UTCからの完全なオフセットです) –