Swift iOS DateFormatter для календаря Japanase - PullRequest
1 голос
/ 15 апреля 2020

Я извлекаю дату из zip-файла, если календарь на японском языке, он извлекает эту строку:

[R 2/03/13 19:00:17]

, то есть 13 марта 2020 г. 19: 00: 17

В документации iOS я обнаружил, что dateFormatter.locale = Locale(identifier: "ja_JP") печатает:

// Japanese Locale (ja_JP)
dateFormatter.locale = Locale(identifier: "ja_JP")
print(dateFormatter.string(from: date)) // 2001/01/02

При поиске в inte rnet, я думаю, что "R" означает Эру Рейвы.

Существует ли формат даты, который может дать год?

Что-то вроде:

let stringJap = "[R 2/03/13 19:00:17]"
let stringJapDate = stringJap.replacingOccurrences(of: "[", with: "").replacingOccurrences(of: "]", with: "")
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "ja_JP")
dateFormatter.dateFormat = "? y-MM-dd HH:mm:ss" // the "?" means if is existing a character to describe Era in Japanase
let date = dateFormatter.date(from:stringJapDate)!

Я бы не стал строить случай переключения, чтобы извлечь год, следуя приведенной ниже таблице.

Я нашел в inte rnet это преобразование в эпоху:

2019 - настоящее время ~ Reiwa Era Western Calendar Японский календарь Западный календарь Японский календарь 2020 Reiwa 2 2019 Reiwa 1 / Heisei 31

1989 - 2019 ~ Heisei Era
Western Calendar    Japanese Calendar   Western Calendar    Japanese Calendar
2019    Reiwa 1 / Heisei 31      
2018    Heisei 30   2003    Heisei 15
2017    Heisei 29   2002    Heisei 14
2016    Heisei 28   2001    Heisei 13
2015    Heisei 27   2000    Heisei 12
2014    Heisei 26   1999    Heisei 11
2013    Heisei 25   1998    Heisei 10
2012    Heisei 24   1997    Heisei 9
2011    Heisei 23   1996    Heisei 8
2010    Heisei 22   1995    Heisei 7
2009    Heisei 21   1994    Heisei 6
2008    Heisei 20   1993    Heisei 5
2007    Heisei 19   1992    Heisei 4
2006    Heisei 18   1991    Heisei 3
2005    Heisei 17   1990    Heisei 2
2004    Heisei 16   1989    Heisei 1 / Showa 64

Любая помощь? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...