【问题标题】:Manage a date with the year 0000?管理年份为 0000 的日期?
【发布时间】:2017-12-10 18:23:46
【问题描述】:

如何显示日期“jan-01-0000”? 第 0 年无法管理。 怎么办?

感谢您的帮助。

let dateFormatter: DateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM.dd.yyyy"
let Date_Str = "01.01.0000"
print (dateFormatter.date(from: Date_Str)!)

--> 程序显示错误:无法管理第 0 年。

【问题讨论】:

  • 这不是一个有效的Date,你为什么要使用它? Date 的最小值为“0001-01-01”,如 this Q&A 中所述。
  • 它是让它成为一台时间机器。我想我有一个解决方案。我将不得不用 String year = year - 1 来欺骗日期
  • Year 0 simply does not exist. 公元前 1 年,公元 1 年。

标签: swift date


【解决方案1】:
class ViewController: UIViewController {

    let dateFormatter: DateFormatter = DateFormatter()
    var split_date: [String]!
    let Date_Str = "01.01.0001.00.00"
    var _isBeforeFirstYear: Bool = true

    override func viewDidLoad() {
        super.viewDidLoad()

        dateFormatter.dateFormat = "MM.dd.yyyy.HH.mm"
        split_date = Date_Str.components(separatedBy: ".")

        if (_isBeforeFirstYear) {
            split_date[2] = String(format: "%04d", (Int(split_date[2]))!-1)
            print (split_date[2])  // year = 0000
        } else {
            print (split_date[2])  // year = 0001
        }
    }
}

【讨论】:

  • 这是我的解决方案。
猜你喜欢
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多