Преобразование даты и времени в C # - PullRequest
0 голосов
/ 23 февраля 2012

Я получаю даты в стандартном формате США mm/dd/yy.

Я могу загрузить в MySQL только в формате yyyy-MM-dd.

Как конвертировать mm/dd/yy формат в yyyy-MM-dd формат в C #?

Ответы [ 4 ]

4 голосов
/ 23 февраля 2012

Вы можете проанализировать его и затем отформатировать.(DateTime.ParseExact, DateTime.ToString)

Однако вам не нужно переформатировать в интересах MySQL, и это говорит о том, что доступ к вашей базе данных неуместен:

  • Ваш столбец базы данных должен быть столбцом DATETIME или чем-то подобным, если вы храните в нем даты
  • Код вашей базы данных не должен включать значениекак строка вообще.Он должен передавать его как параметр со значением DateTime

Поэтому, используя параметризованный SQL, вам просто нужно проанализировать (например, с помощью DateTime.ParseExact), а затем передатьэто как DateTime:

DateTime date = DateTime.ParseExact(text, "mm/dd/yy",
                                    CultureInfo.InvariantCulture);
command.Parameters.Add("@Foo", MySqlDbType.DateTime).Value = date;
1 голос
/ 23 февраля 2012

Примерно так должно работать:

DateTime dt = Convert.ToDateTime(dateString);
string newDateString = dt.ToString("yyyy-MM-dd"); 
1 голос
/ 23 февраля 2012

Вы можете использовать функцию MySQLs STR_TO_DATE (str, format) .
Или вы можете использовать форматирование строки в c #

1 голос
/ 23 февраля 2012

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx ... пожалуйста, проверьте здесь.Вы можете конвертировать формат даты в C #

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