chrono_node/core/utils/
dates.rs1use crate::core::components::{meridiem, Component, ParsingComponents};
4use crate::core::js_date::JsDate;
5
6pub fn assign_similar_date(component: &mut ParsingComponents, target: JsDate) {
8 component.assign(Component::Day, target.get_date());
9 component.assign(Component::Month, target.get_month() + 1);
10 component.assign(Component::Year, target.get_full_year());
11}
12
13pub fn assign_similar_time(component: &mut ParsingComponents, target: JsDate) {
15 component.assign(Component::Hour, target.get_hours());
16 component.assign(Component::Minute, target.get_minutes());
17 component.assign(Component::Second, target.get_seconds());
18 component.assign(Component::Millisecond, target.get_milliseconds());
19 component.assign(
20 Component::Meridiem,
21 if target.get_hours() < 12 {
22 meridiem::AM
23 } else {
24 meridiem::PM
25 },
26 );
27}
28
29pub fn imply_similar_date(component: &mut ParsingComponents, target: JsDate) {
31 component.imply(Component::Day, target.get_date());
32 component.imply(Component::Month, target.get_month() + 1);
33 component.imply(Component::Year, target.get_full_year());
34}
35
36pub fn imply_similar_time(component: &mut ParsingComponents, target: JsDate) {
38 component.imply(Component::Hour, target.get_hours());
39 component.imply(Component::Minute, target.get_minutes());
40 component.imply(Component::Second, target.get_seconds());
41 component.imply(Component::Millisecond, target.get_milliseconds());
42 component.imply(
43 Component::Meridiem,
44 if target.get_hours() < 12 {
45 meridiem::AM
46 } else {
47 meridiem::PM
48 },
49 );
50}