use ::chrono::{NaiveDateTime, Local};
pub fn get_today() -> Result<NaiveDateTime, Error> {
// this is the perpetrator
let local_now: NaiveDateTime = Local::now().naive_local();
if let Some(local_date) = local_now.date().and_hms_opt(0, 0, 0) {
return Ok(local_date);
}
else {
Err(Error::new("Cannot get today's date!"))
}
}
1条答案
按热度按时间dluptydi1#
经过大量调试后,我将分段错误的来源定位到一个确定当前日期的变量:
在查找
chrono
中导致分段错误的问题时,发现chrono
仍然依赖于time 0.1
,在某些特殊情况下会导致分段错误;以及updatingchrono
to a more recent version oftime
is a bit difficult。有一个Rust advisory建议了一个解决方案:要禁用默认功能并仅启用特定功能:
Cargo.toml
使用此修复后,
pamtester
中不再出现分段错误。