Как преобразовать дату 01.01.13 в значение datetime в C # - PullRequest
0 голосов
/ 08 октября 2011

У меня есть сценарий, в котором у меня есть значение даты, например 1/1/1300, и я хочу преобразовать его в объект datetime для сравнения.В Sql Server я использую datetime2 для этой даты, и она отлично работает, но я не знаю, как преобразовать его в datetime2 в C #?Я использую .Net 4

Ответы [ 3 ]

1 голос
/ 08 октября 2011

Вы можете использовать метод ParseExact :

DateTime date = DateTime.ParseExact("1/1/1300", "d/M/yyyy", CultureInfo.InvariantCulture);

или использовать TryParseExact , если дата может быть в неправильном формате или представлять недопустимую дату:

DateTime date;
if (DateTime.TryParseExact("1/1/1300", "d/M/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
    // parsing was successful => you could use the date here
}
0 голосов
/ 08 октября 2011

Если то, что вы ищете, конвертирует datetime2 тип данных SQL в тип данных .NET, проверьте ответ:

Преобразование типа данных datetime2 в тип данных datetime приводит к выходу за пределы допустимого значения

Похоже, что тип тот же DateTime, хотя фрагмент ответа:

new DataColumn("myDate", typeof(DateTime))

Полагаю, если вы используете DataReader, вы можете также трактовать значение как DateTime или, возможно, DateTimeOFfset, если DateTime.

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

0 голосов
/ 08 октября 2011

В C # нет DateTime2, просто DateTime:

string dateString = "1/1/1300";
DateTime date = DateTime.Parse(dateString, CultureInfo.InvariantCulture);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...