ios - 用于 Japanase 日历的 Swift iOS DateFormatter
问题描述
我正在从 zip 文件中提取日期,如果日历是日文,它会提取此字符串:
[R 2/03/13 19:00:17]
即 2020 年 3 月 13 日 19:00:17
dateFormatter.locale = Locale(identifier: "ja_JP")
我在正在打印的 iOS 文档中找到 :
// Japanese Locale (ja_JP)
dateFormatter.locale = Locale(identifier: "ja_JP")
print(dateFormatter.string(from: date)) // 2001/01/02
通过在互联网上搜索,我认为“R”是指令和时代。
是否存在可以给出年份的 dateFormat ?
就像是:
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)!
我会避免按照下表构建一个开关盒来提取年份。
我在互联网上发现了这个时代的转换:
2019 年至今~令和时代 西历 日历 西历 日历 2020 令和 2 2019 令和 1 / 平成 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
有什么帮助吗?谢谢
解决方案
推荐阅读
- macos - 在 Docker 中创建新容器时遇到问题。来自守护程序的错误响应:冲突。容器名称已被容器使用
- r - 使用 R 和 geojson 数据为地图上的 x,y 点添加名称
- bash - 如何在 shell 脚本中提供参数
- ruby-on-rails - 应该包含或扩展 ActiveSupport::Concern
- mysql - Teradata sql到MYSQL sql的转换
- spring-boot - 使用 DeferredResult 通知浏览器下载已立即开始
- python - 当我在 tkinter 中调用我为 bind 创建的函数时,我应该给出什么参数
- sparql - SPARQL 端点和 GraphDB
- c# - 定义在 VS 2019 中通过上下文菜单成功发布项目后应执行的自定义 MSBuild 目标
- django - 将类别包含在 URL 中时的 Django urlpatterns