Ho appena scoperto che il mio SqlDateTime.MinValue è diverso su macchine diverse.C#: perché il mio SqlDateTime.MinValue è diverso su macchine diverse?
A volte è = DateTime (1953, 1, 1, 0, 0, 0);
ma su altre macchine è = DateTime (1753, 1, 1, 0, 0, 0);
Come può essere? Il sistema operativo su entrambe le macchine è WinXP SP2.
Edit:
Il mio codice è simile a questo:
DateTime date;
...
if (date == SqlDateTime.MinValue)
{
return "(any)";
}
else
{
return date.ToString();
}
Questo codice non deve mai tornare 1 gen 1753 ma lo ha fatto (su alcune macchine). I minuti e i secondi di data non vengono utilizzati dal mio codice e devono sempre rimanere valori predefiniti.
Come stai usando il valore? cioè c'è un casting di tipo in corso (ad es. da e da stringa) - in caso affermativo, potrebbero essere le impostazioni regionali che influiscono sul casting? – AdaTheDev
dupe: http://stackoverflow.com/questions/805770/sqldatetime-minvalue-c-datetime-minvalue-why – Dhana
Questo è ** non ** un duplicato. Questa domanda si riferisce al perché SqlDateTime.MinValue! = DateTime.MinValue, una domanda diversa – AdaTheDev