У меня есть таблица в MS-SQL базы данных, которая содержит даты в колонке, как так:Преобразование даты в нужном формате
2010-06-24 00:00:00.000
Тогда в C#, я получаю эти даты ж/заявление и назначить его переменная, которая заполняет столбец сетки на веб-странице, сделанной w/asp.net.
SqlCommand command = new SqlCommand();
//connection info here
sql2 = "(select statement here);
command.CommandText = sql2;
dates["Entry"] = command.ExecuteScalar();
Таким образом, это заполняет сетку ж/правильные даты, однако, я пытаюсь форматировать его, так что я просто получить месяц, день и год, а не время, после того, как, с косой черты. Так как это:
06/24/2010
Я попытался преобразовать его времени и даты с помощью:
ToString("MM/dd/yyyy")
Я попытался с помощью ридера вместо этого и делать что-то вроде:
reader.GetDatetime.toString("MM/dd/yyy")
который также не работал. Я просто не могу найти правильный способ сделать это. Любые советы были бы замечательными.
Edit: Вот SQL2 заявление:.
sql2 = "select max(day) as day from users u join days d on d.User_ID = u.id where u.ActiveUser = 1 and u.id = " + Users["ID"].ToString();
Это просто получить самую последнюю дату пользователь вошел материал в
Edit 2: дата, которая показывает в сетке например, «3/12/2013 12:00:00 AM».
Редактировать 3: Функция .ExecuteScalar(), кажется, автоматически форматирует дату до формата «3/12/2013 12:00:00 AM».
Могу ли я спросить, что CultureInfo это? Это неверно, когда я пытаюсь его использовать. – pfinferno
@pfinferno О, право, 'ExecuteScalar' возвращает' object'.Я предположил, что возвращаемый вами тип столбца сопоставляется с 'DateTime' на стороне CLR, вам нужно получить _textual_ представление вашего' DateTime'. 'InvariantCulture' гарантированно генерирует представление Gregorian Calendar вашего значения' DateTime'. –
О, я вижу, спасибо за ответ! Я пробовал то, что вы делали, и подобные вещи раньше. Я получаю эту ошибку, хотя «InvalidCastException был необработанным кодом пользователя». - Указанный сброс недействителен. – pfinferno