Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. fn get_months(n: i32) -> [String; 12]
  2. {
  3. let mut months: [String; 12] = Default::default();
  4. for i in 1..13
  5. {
  6. if n == 1
  7. {months[i-1] = i.to_string();}
  8. else if n == 2
  9. {months[i-1] = format!("{:0>2}",i.to_string());}
  10. }
  11. return months;
  12. }
  13.  
  14. fn get_dates(n: i32) -> [String; 31]
  15. {
  16. let mut days: [String; 31] = Default::default();
  17. for i in 1..32
  18. {
  19. if n == 1
  20. {days[i-1] = i.to_string();}
  21. else if n == 2
  22. {days[i-1] = format!("{:0>2}",i.to_string());}
  23. }
  24. return days;
  25. }
  26.  
  27. fn get_ordinals() -> [&'static str; 31]{
  28. let ordinals = ["1st", "2nd", "3rd", "4th", "5th", "6th", "7th", "8th",
  29. "9th", "10th", "11th", "12th", "13th", "14th", "15th", "16th", "17th",
  30. "18th", "19th", "20th", "21st", "22nd", "23rd", "24th", "25th",
  31. "26th", "27th", "28th", "29th", "30th", "31st"];
  32. return ordinals;
  33. }
  34.  
  35. fn get_year_value(start_year:u32, end_year:u32, n_digits:u32) -> Vec<String>
  36. {
  37. let mut year = Vec::new();
  38. let mut start_year = start_year;
  39. let mut end_year = end_year;
  40. if n_digits == 4
  41. {
  42. for i in start_year..end_year+1
  43. {
  44. year.push(i.to_string());
  45. }
  46. }
  47. else if n_digits == 2
  48. {
  49. let mut num;
  50. let return_size = end_year - start_year + 1;
  51. if return_size > 101
  52. {
  53. start_year = 0;
  54. end_year = 100;
  55. }
  56. for i in start_year..end_year
  57. {
  58. num = i%100;
  59. year.push(format!("{:0>2}",num.to_string()));
  60. }
  61. }
  62.  
  63. return year;
  64. }
  65.  
  66. #[derive(Debug)]
  67. struct Values
  68. {
  69. days: [String; 31],
  70. ordinals: [&'static str; 31],
  71. months: [String; 12],
  72. years: Vec<String>,
  73.  
  74. }
  75.  
  76. fn get_values(n_month: i32, n_day: i32, start_year:u32, end_year:u32, n_year_digit:u32) -> Values
  77. {
  78. Values{days: get_dates(n_day),
  79. ordinals:get_ordinals(),
  80. months:get_months(n_month),
  81. years:get_year_value(start_year, end_year, n_year_digit),
  82. p: 12}
  83. }
  84.  
  85. fn main(){
  86. // let z = get_months(2);
  87. // println!("{:?}", z);
  88. // let y = get_dates(2);
  89. // println!("{:?}", y);
  90. // let a = get_ordinals();
  91. // println!("{:?}", a);
  92. // let ya = get_year_value(2000, 2200, 4);
  93. // println!("{:?}", ya)
  94. let y = get_values(2, 2, 2019, 2029, 4);
  95. println!("{:?}", y);
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement