Отображение 24-часового времени с 0 - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь исправить отображение времени. В настоящее время он отображается как 24 часа, но не показывает 0, поэтому он будет отображать 1:5 вместо 01:05

override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {

    let dateTime = Date()
    let cal = Calendar.current
    let dfm = DateFormatter()
    dfm.dateFormat = "MMM"


    let time = String(cal.component(.hour, from: dateTime)) + ":" + String(cal.component(.minute, from: dateTime))

    let month = dfm.string(from: dateTime)

    let date = String(cal.component(.day, from: dateTime))  + " " + month

    timeNow.text = time
    dateNow.text = date .uppercased()

    self.dateTimeView.alpha = 1

    DispatchQueue.main.asyncAfter(deadline: .now() + 3) {


        UIView .transition(with: self.dateTimeView, duration: 0.5, options: UIView.AnimationOptions.curveEaseIn, animations: {self.dateTimeView.alpha = 0}, completion: nil)

    }

Как мне отформатировать время для отображенияведущие 0 х? 1008 *

1 Ответ

0 голосов
/ 13 октября 2019

Вы, кажется, знаете о DateFormatter, но используете его только для форматирования месяца. Вы также можете использовать его для форматирования других вещей, таких как дни, часы и минуты.

let dateTime = Date()
let cal = Calendar.current
let dfm = DateFormatter()
dfm.dateFormat = "dd MMM" // this is the format of the date string you need

let date = dfm.string(from: dateTime).uppercased()

dfm.dateFormat = "HH:mm" // this is the format of the time string you need

let time = dfm.string(from: dateTime)

timeNow.text = time
dateNow.text = date
...