swift_mt_message/fields/
field13d.rs

1use chrono::{NaiveDate, NaiveTime};
2use serde::{Deserialize, Serialize};
3use swift_mt_message_macros::SwiftField;
4
5/// Field 13D: Date/Time Indication
6///
7/// Date and time indication with UTC offset.
8#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, SwiftField)]
9pub struct Field13D {
10    /// Date component (YYMMDD)
11    #[component("6!n", validate = ["date_format", "valid_date_range"])]
12    pub date: NaiveDate,
13    /// Time component (HHMM)
14    #[component("4!n", validate = ["time_format"])]
15    pub time: NaiveTime,
16    /// UTC offset sign
17    #[component("1!a", validate = ["utc_offset_format"])]
18    pub offset_sign: char,
19    /// UTC offset in total seconds
20    #[component("4!n", validate = ["utc_offset_format"])]
21    pub offset_seconds: String,
22}