#datetime #parsing #rust
#дата и время #синтаксический анализ #Ржавчина
Вопрос:
Возникли проблемы с простой проблемой. У меня есть строка, которая не включает информацию о часовом поясе, которую мне нужно проанализировать в структуру даты и времени. Я могу получить его как UTC, но не локальный:
let from = NaiveDateTime::parse_from_str(amp;start_date, "%Y-%m-%dT%H:%M:%S")?;
let from_utc = DateTime::<Utc>::from_utc(from, Utc);
Ответ №1:
Вам нужно Local.from_local_datetime()
преобразовать a NaiveDateTime
в DateTime<Local>
:
let from: NaiveDateTime = start_date.parse().unwrap();
let date_time = Local.from_local_datetime(amp;from).unwrap();
По общему признанию, это не так просто найти в документации.
Первая строка, которая у вас есть, также работает нормально. Однако для этого конкретного формата (RFC3339) его проще использовать str::parse()
.