如何解决如何为Chrono NaiveDate添加月份?
我尝试创建日期选择器,并且需要在日期月份之间导航
let current = NaiveDate::parse_from_str("2020-10-15","%Y-%m-%d").unwrap();
如何生成打击日期
2020-11-15
解决方法
可以解析该字符串,并使用month + 1
use chrono::{NaiveDate,Datelike};
fn main() {
let naive = NaiveDate::parse_from_str("2020-10-15","%Y-%m-%d").unwrap();
let another = NaiveDate::from_ymd(naive.year(),naive.month() + 1,naive.day());
println!("{:?}",another);
}
通过添加Duration::days(integer)
还有另一种选择,但是一个人需要知道一个月中有多少天。
use chrono::{ NaiveDate,Duration};
fn main() {
let naive = NaiveDate::parse_from_str("2020-10-15","%Y-%m-%d").unwrap() ;
let another = naive + Duration::days(31);
println!("{:?}",another);
}
这是在第12个月之后添加月份的简单条件分支:
use chrono::{NaiveDate,Datelike};
fn main() {
let naive = NaiveDate::parse_from_str("2020-12-15","%Y-%m-%d").unwrap();
let mut y = naive.year();
let mut m = naive.month();
let d = naive.day();
if naive.month() == 12 {
y += 1;
m = 1;
} else {
m += 1;
}
let another = NaiveDate::from_ymd(y,m,d);
println!("{:?}",another);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。