簡體   English   中英

嘗試將日期格式化程序類型(從時間選擇器)轉換為 Integer

[英]Trying to convert Date formatter type (from time picker) to Integer

這里有點麻煩,我從名為 amPicker_out 的日期選擇器中獲取當前時間

我正在使用日期格式化程序來獲取將這兩位時間轉換為 integer 所需的分鍾數。 當我嘗試轉換它時,我收到此錯誤

“無法使用類型為 '(DateFormatter)' 的參數列表調用類型為 'Int' 的初始化程序”

有什么想法我哪里出錯了嗎?

   func getTime()
    {

        let amPickerMinutes = DateFormatter()

        amPickerMinutes.dateFormat = "mm"


      // convert amPickerMinutes to Integer
      let amPickerMinutesInt = Int(amPickerMinutes)

        print(amPickerMinutesInt)
    }

您正在將日期格式化程序 object 轉換為 Int,因此會出現警告。 需要做類似的事情:

    func getTime() {

        let amPickerMinutes = DateFormatter()

        amPickerMinutes.dateFormat = "mm"

        // convert amPickerMinutes to Integer
        let dateString = amPickerMinutes.string(from: amPicker_out.date)
        if let amPickerMinutesInt = Int(dateString) {
            print(amPickerMinutesInt)
        }

        // Prefer using calendar instead 
        let amPickerMinutesInt = Calendar.current.component(.minute, from: amPicker_out.date)
        print(amPickerMinutesInt)
    }

您正在嘗試將 DateTimeFormatter 轉換為 Int。 您必須使用此格式化程序格式化某些日期,然后將此值轉換為 Int

    func getTime(date:Date){

        let amPickerMinutes = DateFormatter()
        amPickerMinutes.dateFormat = "mm"

        let minutes = amPickerMinutes.string(from: date)
        let amPickerMinutesInt = Int(minutes)

        print(amPickerMinutesInt)

    }

getTime(date: Date()) // call your function parsing your date picker value

要獲取分鍾,您必須調用stringFromDate傳遞日期

let amPickerMinutes = DateFormatter()
amPickerMinutes.dateFormat = "mm"
// convert amPickerMinutes to Integer
let amPickerMinutesInt = Int(amPickerMinutes.string(from: picker.date))!

不過Calendar提供了更方便的API

let amPickerMinutesInt = Calendar.current.component(.minute, from: picker.date)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM