public long getUnixTimeOfWaitingTime(long baseUnixTimestamp,WaitingTime waitTime)
{
DateTime baseTime = DateTimeOffset.FromUnixTimeSeconds(baseUnixTimestamp).UtcDateTime;
TimeSpan waitDuration = waitTime switch
{
WaitingTime.none => TimeSpan.Zero,
WaitingTime.gamePlayTime => TimeSpan.FromMinutes(15),
WaitingTime.day => TimeSpan.FromDays(1),
WaitingTime.week => TimeSpan.FromDays(7),
WaitingTime.twoWeeks => TimeSpan.FromDays(14),
WaitingTime.threeWeeks => TimeSpan.FromDays(21),
WaitingTime.month => TimeSpan.FromDays(30),
_ => TimeSpan.Zero
};
DateTime resultTime = baseTime.Add(waitDuration);
return ((DateTimeOffset)resultTime).ToUnixTimeSeconds();
}
public bool isDifferentDayFromNow(long unixTimestamp)
{
DateTime inputDateUtc = DateTimeOffset.FromUnixTimeSeconds(unixTimestamp).UtcDateTime;
DateTime inputDateLocal = inputDateUtc.ToLocalTime();
DateTime nowLocal = DateTime.Now;
return inputDateLocal.Date != nowLocal.Date;
}