我在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的值
关于如何做到这一点的任何想法?
答案 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";