我需要检查当前时间是中午12点使用c#和timer tick事件是用来执行代码
int secs = System.DateTime.Now.Second;
int hours = System.DateTime.Now.Hour;
int minutes = System.DateTime.Now.Minute;
string AmPm = DateTime.Now.ToString("tt");
if (Convert.ToInt32("12") == hours && Convert.ToInt32("0") == minutes && Convert.ToInt32("0") == secs && AmPm.ToUpper().Trim() == "PM")
{
}
else
{}
答案 0 :(得分:2)
你应该能够做到:
var is_noon = (
DateTime.Now.Hour == 12 &&
DateTime.Now.Minute == 0 &&
DateTime.Now.Second == 0
);
无需将字符串转换为整数,无论如何都要使用文字值。
然而正如Hans Kesting所指出的那样,根据您Timer
的使用情况,您可能会出现不准确的情况,因此您需要一些宽大处理,个人而言,我会放弃检查秒。