@@ -58,6 +58,7 @@ data FormatterCommand
58
58
| UnixTimestamp
59
59
| DayOfWeek
60
60
| DayOfWeekName
61
+ | DayOfWeekNameShort
61
62
| Hours24
62
63
| Hours12
63
64
| Meridiem
@@ -90,7 +91,8 @@ printFormatterCommand = case _ of
90
91
DayOfMonth → " D"
91
92
UnixTimestamp → " X"
92
93
DayOfWeek → " E"
93
- DayOfWeekName → " A"
94
+ DayOfWeekName → " AA"
95
+ DayOfWeekNameShort → " A"
94
96
Hours24 → " HH"
95
97
Hours12 → " hh"
96
98
Meridiem → " a"
@@ -127,7 +129,8 @@ formatterCommandParser = (PC.try <<< PS.string) `oneOfAs`
127
129
, Tuple " DD" DayOfMonthTwoDigits
128
130
, Tuple " D" DayOfMonth
129
131
, Tuple " E" DayOfWeek
130
- , Tuple " A" DayOfWeekName
132
+ , Tuple " AA" DayOfWeekName
133
+ , Tuple " A" DayOfWeekNameShort
131
134
, Tuple " HH" Hours24
132
135
, Tuple " hh" Hours12
133
136
, Tuple " a" Meridiem
@@ -171,6 +174,7 @@ formatCommand dt@(DT.DateTime d t) = case _ of
171
174
UnixTimestamp → show $ Int .floor $ (_ / 1000.0 ) $ unwrap $ unInstant $ fromDateTime dt
172
175
DayOfWeek → show $ fromEnum $ D .weekday d
173
176
DayOfWeekName → show $ D .weekday d
177
+ DayOfWeekNameShort → Str .take 3 $ show $ D .weekday d
174
178
Hours24 → padSingleDigit (fromEnum $ T .hour t)
175
179
Hours12 → padSingleDigit $ fix12 $ (fromEnum $ T .hour t) `mod` 12
176
180
Meridiem → if (fromEnum $ T .hour t) >= 12 then " PM" else " AM"
@@ -362,6 +366,8 @@ unformatCommandParser = case _ of
362
366
DayOfWeek → void $ parseInt 1 (validateRange 1 7 ) " Incorrect day of week"
363
367
DayOfWeekName → _{day = _} `modifyWithParser`
364
368
(fromEnum <$> parseDayOfWeekName)
369
+ DayOfWeekNameShort → _{day = _} `modifyWithParser`
370
+ (fromEnum <$> parseDayOfWeekNameShort)
365
371
Hours24 → _{hour = _} `modifyWithParser`
366
372
(parseInt 2 (validateRange 0 24 <> exactLength) " Incorrect 24 hour" )
367
373
Hours12 → _{hour = _} `modifyWithParser`
@@ -423,6 +429,17 @@ parseDayOfWeekName = (PC.try <<< PS.string) `oneOfAs`
423
429
, Tuple " Sunday" D.Sunday
424
430
]
425
431
432
+ parseDayOfWeekNameShort ∷ ∀ m . Monad m ⇒ P.ParserT String m D.Weekday
433
+ parseDayOfWeekNameShort = (PC .try <<< PS .string) `oneOfAs`
434
+ [ Tuple " Mon" D.Monday
435
+ , Tuple " Tue" D.Tuesday
436
+ , Tuple " Wed" D.Wednesday
437
+ , Tuple " Thu" D.Thursday
438
+ , Tuple " Fri" D.Friday
439
+ , Tuple " Sat" D.Saturday
440
+ , Tuple " Sun" D.Sunday
441
+ ]
442
+
426
443
parseMonth ∷ ∀ m . Monad m ⇒ P.ParserT String m D.Month
427
444
parseMonth = (PC .try <<< PS .string) `oneOfAs`
428
445
[ Tuple " January" D.January
0 commit comments