Mercurial > public > lazybear
annotate LazyBear/Global functions/GetDateComponents.swift @ 411:681fb377235e
Implementing insider transactions
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Mon, 07 Jun 2021 20:59:52 +0200 |
parents | |
children |
rev | line source |
---|---|
411
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // GetDateComponents.swift |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
3 // LazyBear |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
5 // Created by Dennis Concepción Martín on 7/6/21. |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
10 enum Components { |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
11 case day, month, year |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 } |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
14 /* |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
15 Get components from a date |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 */ |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
17 func getDateComponents(_ components: Components, _ date: Date) -> String { |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
18 let dateComponents = Calendar.current.dateComponents([.year, .month, .day], from: date) |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
19 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
20 switch components { |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
21 case .year: |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
22 return "\(dateComponents.year ?? 2020)" |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
23 case .day: |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
24 return "\(dateComponents.day ?? 1)" |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
25 case .month: |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
26 let dateFormatter = DateFormatter() |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
27 let monthNumber = dateComponents.month ?? 1 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
28 let monthLetters = dateFormatter.shortMonthSymbols[monthNumber-1] |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
29 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
30 return "\(monthLetters)" |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
31 } |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
32 |
681fb377235e
Implementing insider transactions
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
33 } |