У меня есть 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);
Конечно, это не сработает, так как шаблон синтаксического анализа не соответствует строкам даты... Ваша строка ввода не содержит строку GMT
.
Попробуйте это вместо этого:
var date = DateTime.ParseExact(datetime, "dd-MM-yy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);
Здесь я использовал флаги AssumeUniversal
и AdjustToUniversal
. Используемые вместе, дайте дату UTC.
Если вы хотите преобразовать это в местное время, хорошо:
date = date.ToLocalTime();