Преобразовать строку в формат даты и времени - PullRequest
0 голосов
/ 22 апреля 2010

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

Формат строки:

4/21/2010 16:43:03 PM

Пример:

2010-04-21 16: 43: 03.000

Я уточнил вопрос:

Нужно изменить формат, а не тип.

Ответы [ 4 ]

2 голосов
/ 22 апреля 2010

«Обычное время / дата» немного расплывчато. Нормальный формат связан с культурой, в которой вы работаете.

Предполагая, что ваша исходная строка является доступной для вашей беговой культуры, и вы хотите переформатировать ее в другую строку в вашем вопросе, вы можете сделать это:

DateTime.Parse("4/21/2010 4:43:03 PM").ToString("yyyy-MM-dd HH:mm:ss.ttt")

[Правка - Забыть часть .ToString ()]

Перечитайте вопрос, и использование parse вернет объект DateTime, который можно использовать повторно.

1 голос
/ 22 апреля 2010

Предполагая, что вы знаете точный формат входных данных, используйте DateTime.ParseExact для преобразования строки в DateTime (или используйте DateTimeOffset) - но тогда не переформатируйте его в строку.

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

0 голосов
/ 22 апреля 2010

вы могли бы сделать:

CDate("4/21/2010 4:43:03 PM")

или

CType("4/21/2010 4:43:03 PM", DateTime)

или

DateTime.Parse("4/21/2010 4:43:03 PM")
0 голосов
/ 22 апреля 2010

Если он всегда будет в одном и том же формате, вы можете использовать Date.ParseExact(...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...