舍入日期时间

L4r*_*4rs 1 c# datetime

对于我的SteamBot,我想存储再次可交易的日期和时间。

例:

// DateNow = 05.06.2019 13:37:00
(+ 7 days due to Steam's trade policy)
// DateNow+7Days = 12.06.2019 13:37:00
// DateIneed = 13.06.2019 09:00:00
Run Code Online (Sandbox Code Playgroud)

所以我需要的DateTime是CurrentDateTime + 7天+剩下的9点

这是我走多远:

var date = DateTime.Now.AddDays(7);
Run Code Online (Sandbox Code Playgroud)

有什么聪明的方法可以始终获取我需要的DateTime吗?

语言是C#

Ily*_*dik 6

您可以检查今天是否是9点之前,然后将时间设置为9,否则添加一天并将时间设置为9,我觉得应该很容易。

var time = DateTime.Now;
var date = time.Hour <= 9
   ? time.Date.AddDays(7).AddHours(9) 
   : time.Date.AddDays(7).AddHours(9).AddDays(1);
Run Code Online (Sandbox Code Playgroud)