Следующий код на нескольких машинах устанавливает SQL Строка даты и времени сервера от «СЕЙЧАС» к той же дате, но в полночь.
DateTime deleteDateThreshold = DateTime.Now;
string deleteDateThresholdS = DateTime.Now.ToString();
deleteDateThresholdS = deleteDateThresholdS.Substring(0, 10) + " " + "00:00:00 AM";
Если подумать, я мог бы, вероятно, вычесть назад к полуночи, но я думал, что это был более быстрый путь.
Затем строка анализируется в DateTime; и вычеркнул из него один день. Разбирается одна система, потому что Подстрока встречает дополнительный символ, значение 2, потому что строка даты не дополняется нулями (04/04/2020) Я наконец смог запечатлеть оскорбительное время; и это не DateTime, поэтому должно произойти исключение.
Вот код, который анализирует.
deleteDateThreshold = DateTime.Parse(deleteDateThresholdS, us);
deleteDateThreshold = deleteDateThreshold.AddDays(-1);
в большинстве систем строка даты выглядит следующим образом
"03/04/2020 00:00:00 AM"
Однако в системе, которая выдает исключение даты не заполняются нулями, а строка выглядит следующим образом:
"3/4/2020 2 00:00:00"
Почему в этой строке 2 и почему месяц и день не дополняются нулями?