2 回答
TA贡献1744条经验 获得超4个赞
听起来你真正想说的是:
查找中欧当前时间
查找同一日期上午 9:10
如果上午 9 点 10 分在当前时间之后,则添加一天
所以像:
// No need to do this more than once
private static readonly TimeZoneInfo centralEuropeZone =
TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time")
private static DateTime GetUtcResetTime()
{
// Using UtcNow to make it clear that the system time zone is irrelevant
var centralEuropeNow = TimeZoneInfo.ConvertTime(DateTime.UtcNow, centralEuropeZone);
var centralEuropeResetTime = centralEuropeNow.Date + new TimeSpan(9, 10, 0);
if (centralEuropeResetTime <= centralEuropeNow)
{
centralEuropeResetTime = centralEuropeResetTime.AddDays(1);
}
return TimeZoneInfo.ConvertTimeToUtc(centralEuropeResetTime, centralEuropeZone);
}
我已经让它返回了一个UTC, DateTime这样其他代码就不需要担心它在哪个区域。
TA贡献1898条经验 获得超8个赞
检查到期日期是否小于当前日期,如果是则加一天。
DateTime expireDate = new DateTime(2018, 7, 30, 22, 0, 0); //for testing
DateTime tomorrowAt0910 = DateTime.Now.Date.AddHours(9).AddMinutes(10);
if (expireDate.Date < DateTime.Now.Date)
{
tomorrowAt0910.AddDays(1);
}
- 2 回答
- 0 关注
- 214 浏览
添加回答
举报