📜  检查当前时间是否在早上 c# (1)

📅  最后修改于: 2023-12-03 15:26:46.333000             🧑  作者: Mango

检查当前时间是否在早上 C#

在进行一些应用开发中,有时候需要根据当前时间来执行不同的操作。比如,需要在早上时段执行某段代码,而在晚上时段执行另外一段代码。那么如何检查当前时间是否在早上呢?本文将会介绍在 C# 中如何实现这一功能。

方法一:使用 DateTime 类

在 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 之间。如果是,则说明当前是早上时段。否则,说明当前不在早上时段。

方法二:使用 TimeSpan 类

除了使用 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 类,都可以实现这一功能。根据实际需求选择合适的方法即可。