【发布时间】:2020-05-06 22:28:29
【问题描述】:
Rust 的 chrono 使用起来非常令人沮丧,因为它使得从时区转换非常困难。
例如:我的用户输入了一个字符串。我使用NaiveDateTime::parse_from_str 将其解析为一个简单的日期时间。现在我想把它转换成DateTime<Local>。
不幸的是,我似乎不知道该怎么做。使用Local::From 不起作用。使用DateTime<Local>::from() 也不起作用。两个结构都没有从NaiveDateTime 转换的方法,而NaiveDateTime 没有转换为Local 的方法。
然而,我们可以这样做:someLocalDateTime.date().and_time(some_naive_time)。那么为什么我们不能只做Local::new(some_naive_date_time)?
另外,为什么我们不能跳过解析中的字段?我不需要秒,也不需要年份。为了假设当前年份和 0 秒,我必须手动编写解析代码并从 ymd hms 构造日期时间。
【问题讨论】:
标签: rust