我正在尝试将传入请求的时间戳与数据库存储值进行比较.SQL Server当然会保留一些毫秒的精度,当读入.NET DateTime时,它包括那些毫秒.但是,对系统的传入请求不提供该精度,因此我需要简单地删除毫秒.
我觉得我错过了一些明显的东西,但我还没有找到一种优雅的方法(C#).
我有下一个代码:
DateTime endTime = DateTime.Now.AddDays(30);
InsertIntoDatabase(endTime);
var row = Db.SelectRow("select endTime from MyTable Where @column=myval", columnValue);
Assert.Equal(row["endTime"], endTime); // This is false! Why?
Run Code Online (Sandbox Code Playgroud)
断言是错误的.由于某种原因,日期因毫秒而异.为什么???
时间结束:
Date {7/17/2015 12:00:00 AM} System.DateTime
Day 17 int
DayOfWeek Friday System.DayOfWeek
DayOfYear 198 int
Hour 1 int
Kind Unspecified System.DateTimeKind
Millisecond 370 int
Minute 21 int
Month 7 int
Second 27 int
Ticks 635726928873700000 long
+ TimeOfDay {01:21:27.3700000} System.TimeSpan
Year 2015 int
Run Code Online (Sandbox Code Playgroud)
行[ "ENDTIME"]:
Date {7/17/2015 12:00:00 AM} System.DateTime
Day 17 int
DayOfWeek Friday System.DayOfWeek …Run Code Online (Sandbox Code Playgroud)