Разбор GMT DateTIme

1

У меня есть 03-10-14 18:44:58. Временная часть GMT, где 03 = день 10 = месяц = 14 = год и 18 = час 44 = минута 58 = секунды

Как я могу разобрать это? Это то, что я использую, но не работаю:

var date = "03-10-14 18:44:58";
_Packet.Time = DateTime.ParseExact(datetime, "dd-MM-yy HH:mm:ss 'GMT'", CultureInfo.CurrentCulture, DateTimeStyles.AllowWhiteSpaces);
  • 1
    «это не работает» никогда не достаточно информации. В чем дело? (В идеале приведите короткий, но полный пример. Затем начните использовать Noda Time :)
  • 0
    Я посмотрю во время нода
Показать ещё 2 комментария
Теги:
datetime

1 ответ

5
Лучший ответ

Конечно, это не сработает, так как шаблон синтаксического анализа не соответствует строкам даты... Ваша строка ввода не содержит строку GMT.

Попробуйте это вместо этого:

var date = DateTime.ParseExact(datetime, "dd-MM-yy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);

Здесь я использовал флаги AssumeUniversal и AdjustToUniversal. Используемые вместе, дайте дату UTC.

Если вы хотите преобразовать это в местное время, хорошо:

date = date.ToLocalTime();

Ещё вопросы

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