📅  最后修改于: 2023-12-03 15:26:46.333000             🧑  作者: Mango
在进行一些应用开发中,有时候需要根据当前时间来执行不同的操作。比如,需要在早上时段执行某段代码,而在晚上时段执行另外一段代码。那么如何检查当前时间是否在早上呢?本文将会介绍在 C# 中如何实现这一功能。
在 C# 中,我们可以通过 DateTime.Now 属性来获取当前时间。然后,我们可以通过检查时间的 Hour 属性来判断当前时间是否在早上。
DateTime now = DateTime.Now;
if (now.Hour >= 6 && now.Hour < 12)
{
Console.WriteLine("现在是早上时段。");
}
else
{
Console.WriteLine("现在不是早上时段。");
}
在上述代码中,我们首先使用 DateTime.Now 属性获取当前时间,并将其保存在 now 变量中。然后,我们检查 now 变量的 Hour 属性是否在 6 和 12 之间。如果是,则说明当前是早上时段。否则,说明当前不在早上时段。
除了使用 DateTime 类之外,我们还可以使用 TimeSpan 类来判断当前时间是否在早上。具体做法是,先获取当前时间与当天零点之间的时间差,然后检查这个时间差的总秒数是否在早上时段内。
TimeSpan timeOfDay = DateTime.Now.TimeOfDay;
TimeSpan zero = TimeSpan.Zero;
TimeSpan sixAM = new TimeSpan(6, 0, 0);
TimeSpan twelvePM = new TimeSpan(12, 0, 0);
TimeSpan morningSpan = twelvePM - sixAM;
if (timeOfDay >= zero && timeOfDay < morningSpan)
{
Console.WriteLine("现在是早上时段。");
}
else
{
Console.WriteLine("现在不是早上时段。");
}
在上面的代码中,我们使用 DateTime.Now.TimeOfDay 属性获取当前时间与当天零点之间的时间差,并将其保存在 timeOfDay 变量中。然后,我们定义了一个 TimeSpan 类型的变量 zero,表示当天零点的时间。接着,我们定义了两个时间跨度 sixAM 和 twelvePM,分别表示早上6点和中午12点的时间跨度。最后,我们计算出早上时段的时间跨度 morningSpan,并检查 timeOfDay 是否在 morningSpan 之内。如果是,则说明当前是早上时段。否则,说明当前不在早上时段。
以上就是在 C# 中检查当前时间是否在早上的方法。无论是使用 DateTime 类还是 TimeSpan 类,都可以实现这一功能。根据实际需求选择合适的方法即可。