C # с Mongodb DateTime Конвертировать

1

Я хочу преобразовать "ISODate(\"2014-11-13T18:43:33.868Z\")" в С# datetime ex 2014-11-13 18:43:33. Значение "ISODate(\"2014-11-13T18:43:33.868Z\")" взять из коллекции MongoDB.

Пожалуйста помоги.

  • 1
    Вы сами пытались решить эту проблему? С какой конкретной проблемой вы сталкиваетесь?
  • 1
    Поместите код C # в ваш вопрос
Показать ещё 2 комментария
Теги:
datetime

2 ответа

1

Если я четко понимаю, только потому, что он пишет ISODate в вашей строке, это не делает его ISO 8601. Спецификатор стандартного формата "O" или "o" соответствует стандарту ISO 8601 и который является "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" строка пользовательского формата для DateTime. Это не соответствует вашему строковому формату.

Если ваши строки имеют такой стабильный формат, вы можете использовать пользовательские форматы даты и времени с литеральным разделителем строк;

string s = "ISODate(\"2014-11-13T18:43:33.868Z\")";
string format = "'ISODate(\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\")'";
DateTime date;
if(DateTime.TryParseExact(s, format, CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out date))
{
    Console.WriteLine (date);
}

Если вы хотите, чтобы строковое представление вашего DateTime с "2014-11-13 18:43:33", вы можете использовать метод DateTime.ToString();

date.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
1

Вы можете сохранить свою дату как объект BsonDateTime, когда вы вытащите ее из базы данных, а затем преобразуйте ее следующим образом:

DateTime dt = bdt.ToUniversalTime();

И вы можете найти этот вопрос полезным, чтобы узнать больше о том, как работает ToUniversalTime().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню