Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DateTime is not equal [duplicate]

Tags:

c#

datetime

I have next code:

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?

Assert is false. And dates are different for some reason on milliseconds. Why???

endTime:

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

row["endTime"]:

Date    {7/17/2015 12:00:00 AM} System.DateTime
        Day 17  int
        DayOfWeek   Friday  System.DayOfWeek
        DayOfYear   198 int
        Hour    1   int
        Kind    Local   System.DateTimeKind
        Millisecond 371 int
        Minute  21  int
        Month   7   int
        Second  27  int
        Ticks   635726928873716049  long
+       TimeOfDay   {01:21:27.3716049}  System.TimeSpan
        Year    2015    int

WHY???

like image 409
Ksice Avatar asked Jun 17 '15 08:06

Ksice


1 Answers

Maybe this (Difference between DateTime in c# and DateTime in SQL server) will help a little.

you can also use Datetime2 for SQL

like image 116
sangram parmar Avatar answered Oct 02 '22 13:10

sangram parmar