gpt4 book ai didi

ios - 我如何获得两个日期之间的日差?

转载 作者:行者123 更新时间:2023-11-28 05:37:35 27 4
gpt4 key购买 nike

我有下面的代码来计算两个日期之间的天数差异。第一个 View 是我从 UIDatePicker() 中选择一个日期,按一个按钮转到第二个 View 并计算所选日期和今天的日期之间的天数差异并将结果传递给第二个 View 被显示。

我只是无法让计算时差的功能发挥作用。我做错了什么吗?我很抱歉,因为我刚刚开始快速学习。

在我的代码上

Calendar.current.dateComponents([.day], from: self.GetDate,to: datePicker.date).day!

我在下面收到这个错误

Type 'Any' has no member 'day'

-

第一 View 。

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var dateInput: UITextField!
let datePicker = UIDatePicker()

var GetDate = ""


override func viewDidLoad() {
super.viewDidLoad()
CreateDatePicker()
}

// Create Date
func CreateDatePicker() {
datePicker.datePickerMode = .date
dateInput.inputView = datePicker
let toolbar = UIToolbar()
toolbar.sizeToFit()
let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(doneClicked))
toolbar.setItems([doneButton], animated: true)
dateInput.inputAccessoryView = toolbar
}

@objc func doneClicked() {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .none
dateInput.text = dateFormatter.string(from: datePicker.date)
self.view.endEditing(true)
}


@IBAction func GetDateButton(_ sender: Any) {
self.GetDate = dateInput.text!
performSegue(withIdentifier: "toTime", sender: self)
Calendar.current.dateComponents([.day], from: self.GetDate,to: datePicker.date).day!
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination as! timeDiffr
vc.textDisplay = self.GetDate
}
}

第二个 View

import Foundation
import UIKit

class timeDiffr: UIViewController {

@IBOutlet weak var labeltext: UILabel!

var textDisplay = ""

override func viewDidLoad() {
super.viewDidLoad()
labeltext.text = textDisplay
}

}

最佳答案

你应该注意你的编码约定

  • 变量、函数名应该是驼峰式:GetDate应该是getDateGetDateButton应该是getDateButton , CreateDatePicker 应该是 createDatePicker

而你的 getDate 是一个字符串,而 Calendar.current.dateComponents([.day], from: self.GetDate,to: datePicker.date).day!返回一个整数值。这就是您需要解决的问题。

您的 GetDateButton 函数应该是:

@IBAction func GetDateButton(_ sender: Any) {
// Get distance by day (intValue)
let distanceInDay = Calendar.current.dateComponents([.day], from: Date(), to: datePicker.date).day!
}

关于ios - 我如何获得两个日期之间的日差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58127326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com