Trong khi bạn có thể trừ số mili giây như được đề xuất trong nhận xét, điều đó sẽ vẫn để lại cho bạn các giá trị mili giây. Đó có thể không gây ra sự cố, nhưng có thể trình điều khiển sẽ làm tròn giá trị phần nghìn giây lên đến cả phần nghìn giây. Nó sạch hơn (IMO) để tránh có bất kỳ giá trị giây con nào, để giá trị bạn chèn vào giống với giá trị được lưu trữ. Tôi muốn sử dụng:
var truncated = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day,
dtNow.Hour, dtNow.Minute, dtNow.Second);
// Use truncated as the parameter in your command
Bằng cách đó rõ ràng sẽ chỉ có giá trị năm / tháng / ngày / giờ / phút / giây.
Nếu bạn thấy mình làm việc này thường xuyên, bạn có thể viết một phương thức mở rộng để bạn có thể sử dụng:
var truncated = dtNow.TruncateToSecond();