Как одновременно отобразить время из разных стран? - C#
Формулировка задачи:
Всем Доброго времени суток. У меня возникла проблема с написание программы которая должна отображать время трех стран по очереди с интервалом в несколько секунд. Моя проблема в том, что я не понимаю как сделать так чтобы время являлось не локальным,что нудно добавить чтобы отобразить время Германии, Латвии и Англии в данный момент. помогите пожалуйста.
Всем Спасибо =)
namespace WorldTime_2._0
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
timer2.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if(pictureBox1.Visible == true) // Germ
{
pictureBox1.Visible = false;
pictureBox2.Visible = true;
pictureBox3.Visible = false;
}
else if (pictureBox2.Visible == true) // Latvia
{
pictureBox2.Visible = false;
pictureBox3.Visible = true;
pictureBox1.Visible = false;
}
else if (pictureBox3.Visible == true) // UK
{
pictureBox3.Visible = false;
pictureBox1.Visible = true;
pictureBox2.Visible = false;
}
}
private void lblUK_Click(object sender, EventArgs e)
{
lblUK.Text = DateTime.Now.ToLongTimeString();
}
private void lblGer_Click(object sender, EventArgs e)
{
}
private void timer2_Tick(object sender, EventArgs e)
{
if (lblGer.Visible == true)
{
lblGer.Visible = false;
lblLatvia.Visible = true;
lblUK.Visible = false;
lblGermTime.Visible = false;
lblLatviaTime.Visible = true;
lblLondonTime.Visible = false;
}
else if (lblUK.Visible == true)
{
lblUK.Visible = false;
lblGer.Visible = true;
lblLatvia.Visible = false;
lblLondonTime.Visible = false;
lblGermTime.Visible = true;
lblLatviaTime.Visible = false;
}
else if (lblLatvia.Visible == true)
{
lblLatvia.Visible = false;
lblUK.Visible = true;
lblGer.Visible = false;
lblLatviaTime.Visible = false;
lblLondonTime.Visible = true;
lblGermTime.Visible = false;
}
}
private void BtnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void lblLatvia_Click(object sender, EventArgs e)
{
}
private void lblLatviaTime_Click(object sender, EventArgs e)
{
timer3.Start();
lblLatviaTime.Text = DateTime.Now.ToString("T");
}
private void timer3_Tick(object sender, EventArgs e)
{
lblLatviaTime.Text = DateTime.Now.ToString("T");
lblLondonTime.Text = DateTime.Now.ToString("T");
lblGermTime.Text = DateTime.Now.ToString("T") ;
timer3.Start();
}
private void label1_Click(object sender, EventArgs e)
{
timer3.Start();
lblLondonTime.Text = DateTime.Now.ToString("T");
}
private void label2_Click(object sender, EventArgs e)
{
timer3.Start();
lblGermTime.Text = DateTime.Now.ToString("T");
}
}
}
Немного поясню, суть в том что при смене картинки меняется время, всего 3 картинки и 3 времени, Сама функция смены работает прекрасно, вот только с одним и тем же временем .
Решение задачи: «Как одновременно отобразить время из разных стран?»
textual
Листинг программы
//получаем часовой пояс для германии
var germanyZone = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
//получаем текущее местное время для германии
var germanyNow = TimeZoneInfo.ConvertTime(DateTime.Now, germanyZone);