我想在程序中监视每天的中午12点整或每天的傍晚19点整做数据传送,我用了一个Timer1,设置Enabled = true,Interval设置为:60000,即每分钟触发一次,在它的事件代码中这样写:
if (System.DateTime.Now.ToString("HH:mm:ss") == "12:00:00" || System.DateTime.Now.ToString("HH:mm:ss") == "19:00:00")
{
//这里放传动数据的代码
}不知道这样写能否达到目的?谢谢!
if (System.DateTime.Now.ToString("HH:mm:ss") == "12:00:00" || System.DateTime.Now.ToString("HH:mm:ss") == "19:00:00")
{
//这里放传动数据的代码
}不知道这样写能否达到目的?谢谢!
你不能控制你程序启动的时间正好是0分0秒。比如timer启动的时间是12:00:18,一分钟运行一次,你的代码永远不可能被执行。
if (System.DateTime.Now.ToString("HH:mm") == "12:00" || System.DateTime.Now.ToString("HH:mm") == "19:00")
把秒忽略掉
System.DateTime.Now.ToString("HH:mm") == "12:00" || System.DateTime.Now.ToString("HH:mm:ss") == "19:00"
这样正常也有问题
该窗口设置一个全局变量: string sendState = "";if (System.DateTime.Now.ToString("HH:mm") >= "12:00" && System.DateTime.Now.ToString("HH:mm") < "19:00" && sendState != "12")
{
//这里放传动数据的代码
sendState = "12";
}
else if (System.DateTime.Now.ToString("HH:mm") >= "19:00" && sendState == "12")
{
//这里放传动数据的代码
sendState = "19";
}
该窗口设置一个全局变量: string sendState = "";if (System.DateTime.Now.ToString("HH:mm") >= "12:00" && System.DateTime.Now.ToString("HH:mm") < "19:00" && sendState != "12")
{
//这里放传动数据的代码
sendState = "12";
}
else if (System.DateTime.Now.ToString("HH:mm") >= "19:00" && sendState == "12")
{
//这里放传动数据的代码
sendState = "19";
}