gpt4 book ai didi

c# - 下一个凌晨 3 点发生的日期时间

转载 作者:可可西里 更新时间:2023-11-01 03:04:54 28 4
gpt4 key购买 nike

我敢肯定这很容易,但我突然遇到了心理障碍。
我正在尝试获取下一次凌晨 3 点的 DateTime 对象。例如,如果 DateTime.Now16/july/2009 : 12:04pm - 下一个凌晨 3 点将是 17/july/2009 : 03: 00

但是,如果 DateTime.Now17/july/2009 : 01:00 那么下一次出现仍然是 17/july/2009 : 03 :00(不是后一天)。
这有意义吗?

最佳答案

一个选项:

DateTime now = DateTime.Now;
DateTime today3am = now.Date.AddHours(3);
DateTime next3am = now <= today3am ? today3am : today3am.AddDays(1);

另一个:

DateTime now = DateTime.Now;
DateTime today = now.Date;
DateTime next3am = today.AddHours(3).AddDays(now.Hour >= 3 ? 1 : 0)

有很多方法可以为特定的猫剥皮 :)

当然,这都是本地时间,这意味着您无需担心时区问题。如果您想涉及时区,生活会变得更加棘手......

请注意,如果在计算时日期翻转,最好使用 DateTime.Now 一次 以避免出现问题...

关于c# - 下一个凌晨 3 点发生的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1142626/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com