2009-07-25 4 views
2

У меня есть набор данных, который заполняется чтением файла excel. Набор данных хранит данные из Excel.форматирование столбца datetime в DataSet

Дата в наборе данных в в формате 2 \ 2 \ 2009 12:00:00 AM но мне нужно формат данных преобразуется в 2 \ 2 \ 2009. Я хочу изменить формат всех данных в этом конкретном столбце.

+0

Является столбцом текстового столбца или столбцом DateTime? – Keltex

+0

DateTime column – Jebli

ответ

7

Вот один из способов:

foreach (DataRow row in yourDataTable) 
{ 
    DateTime dt = DateTime.Parse(row["Date"].ToString()); 
    row["Date"] = dt.ToShortDateString(); 
} 

Это предполагает, что столбец «Дата» это просто текстовое поле, а не уже поле DateTime.

+0

Вы избили меня до кнопки отправки ... У меня был тот же ответ –

+0

У меня есть столбец datetime в наборе данных, и я хочу изменить формат данных только этой колонки – Jebli

+0

Haw! Красота не потрудилась убедиться, что мой код даже компилируется. =) – MusiGenesis

1

Вы можете настроить вывод с помощью pattern, если это объект DateTime в желаемом формате, «2 \ 2 \ 2009».

string output1 = dt.ToString(@"mm\\dd\\yyyy"); 
string output2 = dt.ToString("mm/dd/yyyy"); //did you mean this? 
+0

Я хочу, чтобы исходный формат данных в наборе данных был изменен в формате «02/26/2009» – Jebli

0

A DateTime Значение или столбец не имеет формата. Это всего лишь двоичные данные.

Где вы хотите, чтобы форматированный выход отображался? Вот где вы должны применить строку формата. Например, если вы хотите, чтобы он отображался в столбце ASP.NET DataGrid, вы должны установить свойство DataFormatStringBoundColumn в «мм/дд/гггг».

+0

Привет, я использую массовую загрузку в этом случае, как изменить формат данных в наборе данных и присвоить значение – Jebli

+0

Пожалуйста, покажите код, который вы используете для массовой загрузки. Кроме того, каков тип столбца в пункте назначения? NVARCHAR? –

+0

использование (SqlBulkCopy bulkCopy = нового SqlBulkCopy (destinationConnection.ConnectionString)) { для (Int Count = 0; dsSourceColumn.Tables [1] .Rows.Count> счетчика; кол ++) { bulkCopy.ColumnMappings.Добавить ("sourcecolumn", "sourcecolumn"); } } \t} В моем случае имена источника и назначения будут такими же – Jebli

0

Попробуйте это. Она будет работать

результата переменных = от А в ds.Tables [0] .AsEnumerable() выбрать новый [] {Convert.ToDateTime (а [0]). ToString ("дд/мм/гггг")} ;

+0

, пожалуйста, добавьте немного описания, объясняющего ответ. – jjj

Смежные вопросы