>我需要使用 C# 检查当前时间是中午 12 点,并使用计时器 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
{}
你应该能够做到:
var is_noon = (
DateTime.Now.Hour == 12 &&
DateTime.Now.Minute == 0 &&
DateTime.Now.Second == 0
);
无需将字符串转换为整数,无论如何您都在使用文字值。
然而,正如Hans Kesting指出的那样,根据您使用Timer
,有可能出现不准确,所以你需要一些宽大处理,就个人而言,我会放弃检查几秒钟。