写了一个查看时间的程序,想在文本框中动态显示时间,看看我的代码,该如何实现?
关于代码只是在Form1.cs里改就可以了,这个代码看着很麻烦。不过就代码论问题吧!
请高手指点
<Form1.cs>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 显示各个时区的时间
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
object strq = comboBox1.SelectedItem;
Time1 sjzh = new Time1();
textBox1.Text = sjzh.shijianzhuanhuan(strq.ToString()).ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
Time1 dt = new Time1();
label3.Text = "北京时间为:\n" + dt.now.ToString();
}
}
}
<Time1.cs>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 显示各个时区的时间
{
class Time1
{
private int hour = DateTime.Now.Hour;
private int minute = DateTime.Now.Minute;
private int second = DateTime.Now.Second;
public string date = DateTime.Now.ToString();
private int year = DateTime.Now.Year;
private int month = DateTime.Now.Month;
private int day = DateTime.Now.Day;
public int ahour
{
get { return hour; }
set { hour = value; }
}
public int aminute
{
get { return minute; }
set { minute = value; }
}
public int asecond
{
get { return second; }
set { second = value; }
}
public string now
{
get { return date; }
set { date = value; }
}
public int ayear
{
get { return year; }
set { year = value; }
}
public int amonth
{
get { return month; }
set { month = value; }
}
public int aday
{
get { return day; }
set { day = value; }
}
public string shijianzhuanhuan(string timezone)
{
/*=======================根据差值计算各个时区的小时数=========================*/
int shijian = 0;
if (timezone == "阿布扎比[阿联酋]-4")
{
shijian = ahour - 4;// return shijian;
}
else if (timezone == "亚丁[也门]-5")
{
shijian = ahour - 5;// return shijian;
}
else if (timezone == "安曼[约旦]-6")
{
shijian = ahour - 6;
}
else if (timezone == "安卡拉[土耳其]-6")
{
shijian = ahour - 6;
}
else if (timezone == "曼谷[曼谷]-1")
{
shijian = ahour - 1;
}
else if (timezone == "雅加达[印度]-1")
{
shijian = ahour - 1;
}
else if (timezone == "广州[中国]0")
{
shijian = ahour;
}
else if (timezone == "河内[越南]-1")
{
shijian = ahour - 1;
}
else if (timezone == "伊尔库茨克[俄罗斯]0")
{
shijian = ahour;
}
else if (timezone == "伊斯兰堡[巴基斯坦]-3")
{
shijian = ahour - 3;
}
else if (timezone == "吉隆坡[马来西亚]0")
{
shijian = ahour;
}
else if (timezone == "东京[日本]1")
{
shijian = ahour + 1;
}
else if (timezone == "新加坡[新加坡]0")
{
shijian = ahour;
}
else if (timezone == "柏林[德国]-7")
{
shijian = ahour - 7;
}
else if (timezone == "爱丁堡[英国]-8")
{
shijian = ahour - 8;
}
else if (timezone == "热那亚[意大利]-7")
{
shijian = ahour - 7;
}
else if (timezone == "巴黎[法国]-7")
{
shijian = ahour - 7;
}
else if (timezone == "罗马[意大利]-7")
{
shijian = ahour - 7;
}
else if (timezone == "鹿特丹[荷兰]-7")
{
shijian = ahour - 7;
}
else if (timezone == "纽约[美国]-13")
{
shijian = ahour - 13;
}
else if (timezone == "贝伦[巴西]-11")
{
shijian = ahour - 11;
}
else if (timezone == "多伦多[加拿大]-14")
{
shijian = ahour - 14;
}
else if (timezone == "开罗[埃及]-6")
{
shijian = ahour - 6;
}
else if (timezone == "墨尔本[澳大利亚]2")
{
shijian = ahour + 2;
}
/*=========================判断日期的差值并显示===================================*/
if (shijian > 23) //是否跨天
{
shijian = shijian - 24;
aday = aday + 1;
if (aday > DateTime.DaysInMonth(ayear,amonth))//是否跨月
{
aday = 1;
amonth = amonth + 1;
if (amonth>12) //是否跨年
{
ayear = year + 1;
amonth = 1;
}
}
}
else if (shijian < 0) //是否减少天数
{
shijian = -shijian;
aday = aday - 1;
if (aday == 0) //是否减少月份
{
amonth = amonth - 1;
if (amonth == 0) //是否减少年份
{
ayear = ayear - 1;
amonth = 12;
aday = DateTime.DaysInMonth(ayear, amonth);
}
aday = DateTime.DaysInMonth(ayear, amonth);
}
}
string time =ayear.ToString()+"/"+amonth.ToString()+"/"+aday.ToString()+"/"+"\t\n"+ shijian.ToString() + ":" + aminute.ToString() + ":" + asecond.ToString();
return time;
}
}
}