This framework supports encoding as well as decoding many different date and time format. At the moment the follownig are supported (see SHDateFormat):
shortWeekday
=> Sun, Mon, Tue, ...longWeekday
=> Sunday, Monday, Tuesday, ...shortMonth
=> Jan, Feb, ...longMonth
=> January, February, ...shortTimeNoDate
=> 12:00 PM, 1:00 AMshortTimeMediumDate
=> Jan 1, 2000 at 12:00 AMnoTimeShortDateNoYear
=> 12/31noTimeShortDate
=> 12/02/2018noTimeLongDate
=> December 2, 2018noTimeRelativeDate
=> Today, Tomorrow, ...ISO8601
=> "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"
The ISO8601
format implements the standard for working with dates and times between client and server applications. A good explanation if this standard and how to work with it can be found in the Apple Documenation or on Ole Begemanns Blog.
Additionally the following convenience functions are available on the SHDateFormatter sharedInstance which will return default values if the input date is nil. They allow to easily deal with optionals and can provide additional functionality like giving you a relative date instead of e.g. "yyyy/MM/dd":
localizedTimeStringFromDate(_:)
- will return--:--
per default- ... to be continued ...
SHDateFormatter is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SHDateFormatter'
- If you found a bug, please open an issue.
- If you have a feature request, please open an issue.
- If you want to contribute, please submit a pull request.
Stefan Herold • 🐦 @Blackjacxxx
Source is available under the MIT license. See the LICENSE file for more info.