【问题标题】:How to compare AM PM in swift如何快速比较 AM PM
【发布时间】:2018-10-26 06:39:12
【问题描述】:

我几乎没有尝试,但找不到如何比较上午和下午。

formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.dateFormat = "h:mm a"
        formatter.amSymbol = "AM"
        formatter.pmSymbol = "PM"
        dateString = formatter.string(from: Date())

        // date Format
        dateFormatter.timeStyle = DateFormatter.Style.none;
        dateFormatter.dateStyle = DateFormatter.Style.medium;
        currentDate = dateFormatter.string(from: now);

        if self.dateString >= "09:00 AM" { return true }

【问题讨论】:

  • 你的问题很混乱。您说 它工作正常 ,那么您面临什么问题?
  • 比较 AM 和 PM 是什么意思。你最后想达到什么目标?
  • 您必须比较 日期,而不是它们的字符串表示形式。
  • 简单逻辑,例如 if "12:00 AM" >= "09:00 PM" { return true } else { return false }

标签: swift datetime


【解决方案1】:

在 iOS 中,Apple 提供了比较功能来比较 Date 对象。 请找到下面的代码来比较时间

    let formatter = DateFormatter()
    formatter.locale = Locale(identifier: "en_US_POSIX")
    formatter.dateFormat = "h:mm a"
    formatter.amSymbol = "AM"
    formatter.pmSymbol = "PM"
    let timeString = formatter.string(from: Date())

    let firstTime = formatter.date(from: "09:00 AM")
    let secondTime = formatter.date(from: dateString)


    if firstTime?.compare(secondTime!) == .orderedAscending {
        print("First Time is smaller then Second Time")
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多