面白い問題私は直面しており、計算するためのアルゴリズムを思いつくことができません。分を追加してDateTimeを取得しますが、勤務時間と週末を考慮してください
基本的には、DateTime.Now.AddMinutes()に基づいてDateTimeを計算することをお勧めしますが、分を加算することは就業時間と週末を考慮する必要があります。
つまり、現在の時刻が16:50で20分を加算すると、明日の朝の08:10(明日は週末でない場合)のDateTimeが返されます。
私はいくつかのロジックから始めましたが、完全ではありません。誰かが私に数時間のコーディングを保存できるサンプルを持っていますか?
public DateTime CalculateSLAFromNow(int minutes)
{
DateTime now = DateTime.Now;
TimeSpan slatimeaddedon = CalculateToNextWeekDay(DateTime.Now);
TimeSpan finalMinutesAddedon = slatimeaddedon.Add(new TimeSpan(0, minutes, 0));
DateTime SLATime = DateTime.Now.AddMinutes(slatimeaddedon.TotalMinutes);
return SLATime;
}
private TimeSpan CalculateToNextWeekDay(DateTime dt)
{
//Calculate.
}
これには多くの変数があります。市場時間(株式市場)に基づいて使用する「FinanceDateTime」クラスがありますが、ビジネスモデルに非常に依存しています。あなた自身を最初から書くよりも、誰かのものをあなたのものに改造するのはおそらくもっと難しいでしょう。 –