Я извлекаю дату из 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
Любая помощь? Спасибо