我的客户机器日期时间彼此不同。 所以我必须确保我的比较两个不同日期时间的代码应该有用。
我有Datagridview和2个datetime字段(Operation Start Date Time和Operation End Date Time)。
条件:两个字段都应小于或等于当前日期时间。
在小区验证时,我正在检查Operation End DateTime<当前日期时间
在这个时候我得到了String is not valid datetime
。
我们如何解决这个问题?请建议。
If e.ColumnIndex = DataGridView.Columns("Timein").Index Then
If DateTime.Parse(DataGridView.CurrentRow.Cells("Timein").EditedFormattedValue, System.Globalization.CultureInfo.InvariantCulture) > DateTime.Parse(DateTime.Now) Then
MessageBox.Show("TimeIn should not be greater than today's date", "Application", MessageBoxButtons.OK, MessageBoxIcon.Information)
DataGridView.EditingControl.Text = DateTime.Now
Exit Sub
End If
End If
答案 0 :(得分:0)
首先使用CDate将其转换为日期并删除解析:
If e.ColumnIndex = DataGridView.Columns("Timein").Index Then
If CDate(DataGridView.CurrentRow.Cells("Timein").EditedFormattedValue) > DateTime.Now Then
MessageBox.Show("TimeIn should not be greater than today's date", "Application", MessageBoxButtons.OK, MessageBoxIcon.Information)
DataGridView.EditingControl.Text = DateTime.Now
Exit Sub
End If
End If