data_faking/data/datetime/
time_naive.rs

1use wasm_bindgen::prelude::*;
2use chrono::{NaiveTime};
3use super::internals::{gen_hms, gen_micro, gen_milli, gen_nano};
4
5const TIME_FORMAT: &str = "%H:%M:%S";
6const TIME_FORMAT_MILLI: &str = "%H:%M:%S%.3f";
7const TIME_FORMAT_MICRO: &str = "%H:%M:%S%.6f";
8const TIME_FORMAT_NANO: &str = "%H:%M:%S%.9f";
9
10#[wasm_bindgen]
11pub fn time_naive() -> String {
12  let nto = gen_time_naive();
13  if nto.is_none() {
14    return "".to_string();
15  }
16  return nto.unwrap().format(TIME_FORMAT).to_string();
17}
18
19#[wasm_bindgen]
20pub fn time_naive_milli() -> String {
21  let nto = gen_time_naive_milli();
22  if nto.is_none() {
23    return "".to_string();
24  }
25  return nto.unwrap().format(TIME_FORMAT_MILLI).to_string();
26}
27
28#[wasm_bindgen]
29pub fn time_naive_micro() -> String {
30  let nto = gen_time_naive_micro();
31  if nto.is_none() {
32    return "".to_string();
33  }
34  return nto.unwrap().format(TIME_FORMAT_MICRO).to_string();
35}
36
37#[wasm_bindgen]
38pub fn time_naive_nano() -> String {
39  let nto = gen_time_naive_nano();
40  if nto.is_none() {
41    return "".to_string();
42  }
43  return nto.unwrap().format(TIME_FORMAT_NANO).to_string();
44}
45
46pub fn gen_time_naive() -> Option<NaiveTime> {
47  let (hour, min, sec) = gen_hms();
48  NaiveTime::from_hms_opt(hour, min, sec)
49}
50
51pub fn gen_time_naive_milli() -> Option<NaiveTime> {
52  let (hour, min, sec) = gen_hms();
53  let milli = gen_milli();
54  NaiveTime::from_hms_milli_opt(hour, min, sec, milli)
55}
56
57pub fn gen_time_naive_micro() -> Option<NaiveTime> {
58  let (hour, min, sec) = gen_hms();
59  let micro = gen_micro();
60  NaiveTime::from_hms_micro_opt(hour, min, sec, micro)
61}
62
63pub fn gen_time_naive_nano() -> Option<NaiveTime> {
64  let (hour, min, sec) = gen_hms();
65  let nano = gen_nano();
66  NaiveTime::from_hms_nano_opt(hour, min, sec, nano)
67}