-1
if (Convert.ToDateTime(GrdEmployeeAttendance.CurrentRow.Cells["LoginTime"].Value) < Convert.ToDateTime(GrdEmployeeAttendance.CurrentRow.Cells["LogoutTime"].Value))
{
    if (GrdEmployeeAttendance.Columns[e.ColumnIndex].Name == "LoginTime")
    {
        GrdEmployeeAttendance.EndEdit();

        if (Convert.ToDateTime(GrdEmployeeAttendance.CurrentRow.Cells[e.ColumnIndex].Value) < Convert.ToDateTime("01:00 PM"))
        {
            GrdEmployeeAttendance.CurrentRow.Cells["CheckFN"].Value = true;
        }
        else
        {
            GrdEmployeeAttendance.CurrentRow.Cells["ChkAN"].Value = true;
        }
    }
}
4

1 に答える 1

0

ログイン時間とログアウト時間を比較するには、DateTime.Compareメソッドを使用します。

2 つの引数 (DateTime比較するオブジェクトの 2 つのインスタンス) を取り、最初の引数が 2 番目の引数より早いか、同じか、遅いかを示す整数を返します。

最初の時間が早い場合、戻り値は 0 未満になります。2 つの時間の値が同じ場合、戻り値は 0 になります。最初の時間が遅い場合、戻り値は 0 より大きくなります。

サンプルコード:

DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";

Console.WriteLine("{0} {1} {2}", date1, relationship, date2);

// The example displays the following output:
//    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
于 2011-02-16T05:51:07.377 に答える