I'm going mad with, probably, a stupid problem.
I have 3 strings: year, month and day. I need to have a date in the right format based on currentLocale, so i.e. if currentLocale localeIdentifier is en_US my dateFormat should be: MMM/dd/yyyy
if it's fr_FR the dateFormat should be dd/MMM/yyyy
I don't think the only way to do this is to get currentLocale localeIdentifier and start with a bunch of if then.
Thanks in advance.
Max
Look at NSDateComponents to create an NSDate, then use NSDateFormatter to format it. NSDateFormatter uses the current locale to format dates, based on the format style (e.g.
NSDateFormatterMediumStyle
).I hope this helps.
In case you want to have more flexibility about the format than the formats usable with setDateStyle, have a look at my answer to a similar question: https://stackoverflow.com/a/20219610/1896336
In Swift 3:
check out this link to get understand of how
NSDateFormatter
based on http://www.codingexplorer.com/swiftly-getting-human-readable-date-nsdateformatter/If I understand your question, you want to set your
NSDateFormatter
to the locale of the user's device. For that you can just do something like this: