2016-03-21 19 views
-3

質問: こんにちは、私はthrereが単純なxorで時間を分類する方法か、そういうものがあるのだろうかと思っていますか?2つのDatetimesの間の給与を計算するC#

説明: データベーステーブルにDateTimeフィールドが入力されています。PunchInTimeとPunchOutの時間があります。これらの2つのフィールドの間にある時間間隔を取得しようとしています。 00:00〜12:00、12:30〜16:30の間に何回か。

私はジュニアプログラマーですので、ここで何かを見落としているかもしれませんが、アドバイスしてください、それ以上説明が必要な場合は教えてください。

編集:

申し訳ありませんはいイムは、C#でこれをacomplishしようとしていると私は2つの日付時刻の間に長い時間のうち、取得しようとしていますが、彼らは24時間よりも長い期間をspannigされることはありません複数のタイムスパンがあります。

私はすでに単純な算術で自分自身を試しましたが、これに対処するために管理されていません。

これは、二つの異なる日付時刻を作成し、減算を使用、初めて

+0

は読み[尋ねる]、あなたがしようとしているものをご提示ください。 – CodeCaster

答えて

0

DateTime.Subtractメソッドを使用できます。これはあなたにTimeSpanを与え、そこからTimeSpan.TotalHoursを使うことができます。

Look at the DateTime.Subtract Reference Here

+0

私はこの方法を知らなかった。おかげで多く –

+0

You'rは大歓迎です – TSungur

1

これは、あなたがC#で行うことができる方法であるにこの権利を取得しようとイムので、私は仕事の時間のために作るしようとしているプログラムの一部でありますTimeSpanを提供します。あなたはそれから数時間を直接得ることができます。

DateTime now = DateTime.Now; 
DateTime firstTime = new DateTime(now.Year, now.Month, now.Day, 8,0,0); 
DateTime secondTime = new DateTime(now.Year, now.Month, now.Day, 12, 0, 0); 

int hours = secondTime.Subtract(firstTime).Hours; 

SQLでこれを行う必要がある場合は、DATEDIFF()関数があります。

0

はあなたが必要なすべての情報を持っているTimeSpanのインスタンスを取得する必要があり、あなたがこのようにそれを行うことができます。

var start = DateTime.Now; 
var end = DateTime.Now.AddMinutes(15); 

var diff = end - start; 
関連する問題