C #: Why is my SqlDateTime.MinValue different on different machines?

I just found that my SqlDateTime.MinValue is different on different machines.

Sometimes it = DateTime (1953, 1, 1, 0, 0, 0);

but on other machines it is = DateTime (1753, 1, 1, 0, 0, 0);

How can it be? OS on both machines - WinXP SP2.

Edit:

My code was like this:

DateTime date;

...

if (date == SqlDateTime.MinValue)
{
    return "(any)";
}
else
{
    return date.ToString();
} 

This code should never be returned on January 1, 1753, but it was (on some machines). Minutes and seconds of the date are not used by my code and should always remain the default values.

+5
source share
4 answers

, Windows NT, 1953-XXXX, 1753-9999. , Windows XP?

+1

, ? SqlDateTime MSDN .NET Framework:

SqlDateTime - 1 1753 .

, , ​​.NET Framework ( ), Microsoft , . , .

0

, SqlDateTime . , , .

static SqlDateTime()
{
    ...
    MinYear = 1753;
    ...
}

0x6d9

0

, SqlDateTime.MinValue , nullable DateTime :

DateTime? date = null;
...
if (!date.HasValue)
{
    return "(any)";
}
else
{
    return date.Value.ToString();
} 

, : . DateTime?

, , , , SqlDateTime.MinValue , , (, ).

0

All Articles