Chociaż możesz odejmij liczbę milisekund zgodnie z sugestią w komentarzach, co nadal pozostawiłoby wartości submilisekundowe. To może nie powoduje problemu, ale możliwe, że sterownik zaokrągli wartość submilisekundową do pełnej milisekundy. Czystsze (IMO) jest uniknięcie jakiejkolwiek wartości subsekundowej, tak aby wstawiona wartość była taka sama jak wartość, która jest przechowywana. Wolałbym używać:
var truncated = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day,
dtNow.Hour, dtNow.Minute, dtNow.Second);
// Use truncated as the parameter in your command
W ten sposób wyraźnie tylko mieć wartości roku/miesiąca/dzień/godziny/minuty/sekundy.
Jeśli zauważysz, że robisz to regularnie, możesz napisać metodę rozszerzenia, dzięki której będziesz mógł używać:
var truncated = dtNow.TruncateToSecond();