「ダニ」にアドバイスするための初期の助けに感謝しなければなりません。今は私のロジックにかなり夢中になっています.1つのことを除いて、リアルタイムに変換してロジックを実行しようとしていたときに、データベースにUNIX時間がありました。
申し訳ありませんが、もう一度問題を説明させてください。
Unixからリアルタイムに変換されたDB(Start、End、Start1、End1)から4つの異なるタイムスタンプを引き出しました。次のコードを使用して変換を行っています
DateTime = Convert.ToDateTime("1/1/1970").AddSeconds(SnapTo5Mins(Convert.ToDouble(UnixDate))).AddHours(GMTOFFset);
ここでの問題は、列の値がゼロの場合、日時が (1/1/1970) のように返されることです。
たとえば。私の開始値はデータベースでゼロであり、その後再実行されます (1/1/1970)
ステップ 1: タイムスタンプが 1970 年 1 月 1 日 (起点時刻) と等しくないことを比較します ステップ 2: 等しくない場合は、Break = End.Subtract(Start); を実行します。ステップ 3: 等しい場合は、ブレーク値をゼロまたは任意の値に割り当てます ステップ 4: start1 に対してステップ 1、2、3 を繰り返します ステップ 5: 両方のブレーク + ブレーク 1 を連結します
DateTime Origin = new DateTime(1970, 1, 1, 12, 0, 0, 0); DateTime Start ="01/01/1970 12:00"; DateTime End = 01/01/1970 12:00"; DateTime Start1 ="02/10/2013 12:20"; DateTime End1 = "02/10/2013 02:20"; TimeSpan Break;,finalMealBreak1; if (Origin.Year != Start.Year) { Break = End.Subtract(Start); } else { Break = //Assign constant value zero } if (Origin.Year != Start1.Year) { Break1 = End1.Subtract(Start1);//break1 value must be 2hrs } else { Break1 = //Assign constant value zero } TimeSpan FinalBreakResult = Break + Break1; (FinalBreakresult value suppose to be 2 hrs )
前もって感謝します