Преобразование данных DateTime в строку в наборе данных - PullRequest
1 голос
/ 14 мая 2009

У меня есть набор данных, который хранит даты в DataColumn (тип данных этого столбца - DateTime). Мне нужно изменить формат с DateTime на строку, которая даст мне дату в соответствии с моей текущей культурой.

В случае одной переменной DateTime, я могу использовать перегруженную ToString () для достижения этого следующим образом:

DateTime.Now.ToString(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern)

Но мне нужно преобразовать данные для всех строк в моем наборе данных в строку. У кого-нибудь есть идеи, как мне этого добиться?

Спасибо.

Ответы [ 5 ]

5 голосов
/ 14 мая 2009

Когда вы получаете DataSet:

  • Найдите соответствующую таблицу данных
  • добавить новую колонку данных
  • в одном цикле вы заполняете новый столбец (ваш DateTime) .ToString ()
1 голос
/ 14 мая 2009
  1. Получить набор данных.
  2. для каждой строки конвертировать в строку и положить его в новый набор данных (вместе с остальные данные).
0 голосов
/ 14 мая 2009

На вашем месте я бы сохранил данные в DataTable как есть. В конце концов, это значимые данные, которые потеряют свое значение при конвертации. Я хотел бы внести любые желаемые изменения только при отображении / рендеринге данных, поскольку это неявно требует преобразования данных в строки (с необязательным форматированием).

Любая переменная DateTime может быть представлена ​​в виде строки (с учетом форматирования) с помощью простого кода:

DateTime.Now.ToShortDateString();
// Or
DateTime.Now.ToString("d");

Эта функция уже использует информацию о форматировании, полученную из текущей культуры.

Я бы действительно посоветовал вам еще раз взглянуть на сценарий, чтобы оценить, действительно ли вам нужно изменить тип данных в самом наборе данных. (или предоставьте нам больше информации)

0 голосов
/ 14 мая 2009

Новый ответ:)

Я гуглял и придумал этот сайт: Linq to Dataset

Этот пример показывает, как вы можете использовать linq для набора данных. Я предполагаю, что вы могли бы использовать запрос для выполнения преобразования данных и помещения его в новый набор данных. Не уверен, что он будет работать лучше, чем цикл

0 голосов
/ 14 мая 2009

Не думаю, что можно изменить тип столбца после заполнения таблицы. Я думаю, что вы должны создать в своем наборе данных вторую таблицу и скопировать необходимую информацию для преобразования даты в процессе.

...