获取当前时间并在组合框中设置值

时间:2011-03-09 10:33:14

标签: c# forms

我在C#中进行编码,并使用一些textebox和一个组合框完成了一个Windows窗体。我想创建一个获取当前时间的方法,并根据时间设置组合框中的值。在组合框中有三个值:

TimeZone 1
TimeZone 2
TimeZone 3

我有一个获取当前时间的代码:
string CurrentTime = DateTime.Now.ToString(“hh:mm”);

想要创建一个if语句(如果它是最好的?)获取当前时间并设置组合框中的值。

如果时间是:
06:00 - 14:00组合框将获得TimeZone 1的值 14:01 - 22:00组合框将获得TimeZone 2的值 22:01 - 05:59组合框将获得TimeZone 3的值

关于如何做到这一点的任何想法?

3 个答案:

答案 0 :(得分:1)

字面上你在问题中说了什么。不要试图将它转换为字符串并再次解析它,它只会让你的生活更加艰难。这是一个示例代码逻辑

   var now = DateTime.Now;
   if (now.Hours >=6 && now.Hours <=14)
    .....
   else if (now.Hours > 14 && now.Hours < = 22)
    .........
   else
    ........

答案 1 :(得分:0)

试试这个

int hours =  DateTime.Now.Hour;

if(hours >= 6 and hours <= 14)
{
combobox1.SelectedIndex = 0; //Assuming the TimeZone 1 is the first item.
}
else if(hours > 14 and hours <= 22)
{
combobox1.SelectedIndex = 1; //Assuming the TimeZone 2 is the second item.
}
else
{
combobox1.SelectedIndex = 2; //Assuming the TimeZone 3 is the third item.
}

答案 2 :(得分:0)

string CurrentTime = DateTime.Now.ToString("hh:mm");

if(Convert.ToInt32(CurrentTime.Split(':')[0])>5||Convert.ToInt32(CurrentTime.Split(':')[0])<=14)
    Combobox.SelectedValue="TimeZone 1";
else if(Convert.ToInt32(CurrentTime.Split(':')[0])>=14||Convert.ToInt32(CurrentTime.Split(':')[0])<=22)
     Combobox.SelectedValue="TimeZone 2";
else if(Convert.ToInt32(CurrentTime.Split(':')[0])>=22||Convert.ToInt32(CurrentTime.Split(':')[0])<6)
     Combobox.SelectedValue="TimeZone 3";