swift - 如何从日期中获取时间,包括 "0"分钟?

标签 swift string time timestamp nsdate

我正在使用这种方法在我的应用程序中获取时间:

let date = Date()
let calendar = Calendar.current

let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)

let day = calendar.component(.day, from: date)
let month = calendar.component(.month, from: date)
let year = calendar.component(.year, from: date)

timeStamp = ("\"\(hour):\(minutes)\"")
dateFull = ("\"\(day)/\(month)/\(year)\"")

print(dateFull)
print(timeStamp)

当我打印出 timeStamp 时,当“分钟”低于每小时 10 时,它会给我一些奇怪的值,例如,它将打印“9:03”而不是“9:03”等。它不包括 0在数字之前。使用我当前的方法可以解决这个问题吗?

谢谢!

最佳答案

func convertDateToHourMin(date : Date) -> String{
        let calender = Calendar.current
        let components = calender.dateComponents([.hour,.minute,], from: date)
        var hour = String(components.hour!)
        var minute = String(components.minute!)

        if hour.count == 1{
            hour = "0\(hour)"
        }

        if minute.count == 1{
            minute = "0\(minute)"
        }

        return "\(hour)\(minute)"
}

或者你也可以这样写。

func convertDateToHourMin(date : Date) -> String{
    let calender = Calendar.current
    let components = calender.dateComponents([.hour,.minute,], from: date)
    let dateInString  = String(format: "%02d:%02d", Int(components.hour!) , Int(components.minute!))
    return dateInString
}

关于swift - 如何从日期中获取时间,包括 "0"分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50407254/

相关文章:

python - 在 t 秒内统一运行一个 Action x 次

c - 在特定时间后执行代码

python - 使用 "Strptime()"在 Python 中显示时间

ios - 如何使用元数据丰富 UIImage 数据

swift - 计算哈希值时的 EXC_BADINSTRUCTION

android - 从 POEditor 更新 Android 字符串(Gradle 路径错误)

string - Lua-如何查找具有1个或2个字符差异的子字符串

string - 在 Swift 中将字符 append 到字符串

swift - 大尺寸 json 的 Realm 数据插入耗时超过 7 分钟

ios - Swift - 将数据从 CollectionView 传递到 TableViewController