@@ -58,6 +58,7 @@ data FormatterCommand
5858 | UnixTimestamp
5959 | DayOfWeek
6060 | DayOfWeekName
61+ | DayOfWeekNameShort
6162 | Hours24
6263 | Hours12
6364 | Meridiem
@@ -90,7 +91,8 @@ printFormatterCommand = case _ of
9091 DayOfMonth → " D"
9192 UnixTimestamp → " X"
9293 DayOfWeek → " E"
93- DayOfWeekName → " A"
94+ DayOfWeekName → " AA"
95+ DayOfWeekNameShort → " A"
9496 Hours24 → " HH"
9597 Hours12 → " hh"
9698 Meridiem → " a"
@@ -127,7 +129,8 @@ formatterCommandParser = (PC.try <<< PS.string) `oneOfAs`
127129 , Tuple " DD" DayOfMonthTwoDigits
128130 , Tuple " D" DayOfMonth
129131 , Tuple " E" DayOfWeek
130- , Tuple " A" DayOfWeekName
132+ , Tuple " AA" DayOfWeekName
133+ , Tuple " A" DayOfWeekNameShort
131134 , Tuple " HH" Hours24
132135 , Tuple " hh" Hours12
133136 , Tuple " a" Meridiem
@@ -171,6 +174,7 @@ formatCommand dt@(DT.DateTime d t) = case _ of
171174 UnixTimestamp → show $ Int .floor $ (_ / 1000.0 ) $ unwrap $ unInstant $ fromDateTime dt
172175 DayOfWeek → show $ fromEnum $ D .weekday d
173176 DayOfWeekName → show $ D .weekday d
177+ DayOfWeekNameShort → Str .take 3 $ show $ D .weekday d
174178 Hours24 → padSingleDigit (fromEnum $ T .hour t)
175179 Hours12 → padSingleDigit $ fix12 $ (fromEnum $ T .hour t) `mod` 12
176180 Meridiem → if (fromEnum $ T .hour t) >= 12 then " PM" else " AM"
@@ -362,6 +366,8 @@ unformatCommandParser = case _ of
362366 DayOfWeek → void $ parseInt 1 (validateRange 1 7 ) " Incorrect day of week"
363367 DayOfWeekName → _{day = _} `modifyWithParser`
364368 (fromEnum <$> parseDayOfWeekName)
369+ DayOfWeekNameShort → _{day = _} `modifyWithParser`
370+ (fromEnum <$> parseDayOfWeekNameShort)
365371 Hours24 → _{hour = _} `modifyWithParser`
366372 (parseInt 2 (validateRange 0 24 <> exactLength) " Incorrect 24 hour" )
367373 Hours12 → _{hour = _} `modifyWithParser`
@@ -423,6 +429,17 @@ parseDayOfWeekName = (PC.try <<< PS.string) `oneOfAs`
423429 , Tuple " Sunday" D.Sunday
424430 ]
425431
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+
426443parseMonth ∷ ∀ m . Monad m ⇒ P.ParserT String m D.Month
427444parseMonth = (PC .try <<< PS .string) `oneOfAs`
428445 [ Tuple " January" D.January
0 commit comments