将系统日期快速放入文本字段
Posted
技术标签:
【中文标题】将系统日期快速放入文本字段【英文标题】:Putting system date into a text field in swift 【发布时间】:2017-05-03 04:16:08 【问题描述】:我是 swift 新手,希望能在字符串操作方面提供一些帮助。我正在尝试从 NSDate 获取当前日期并将其放入我正在开发的应用程序的文本字段中。我尝试使用 NSDateFormatter 将 ios 系统日期放入国际格式或 dd-MM-yyyy,但我不断收到所有这些错误,但没有任何效果。我可以使用美国日期格式,我真的需要它来工作。我真的不太了解 swift,但我知道我尝试遵循的其他关于堆栈溢出的教程指导我使用 NSDate 将一些代码放入视图控制器中。我研究了其他一些教程,并试图让它们做我需要做的事情,这就是结果。它用于创建日期和时间戳,但我试图删除处理时间的部分。我想我只是让它变得更糟。
func convertDateFormatter(date: String) -> String
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
guard let date = dateFormatter.date(from: date) else
assert(false, "no date from string")
return ""
dateFormatter.dateFormat = "dd-MM-yyyy"
let timeStamp = dateFormatter.string(from: date)
return timeStamp
我的 swift 版本无法识别 NSDate,它想将其更改为 Date,我不知道它如何影响我应该如何去做。我在代码中将其更改为仅 Date ,但它仍然无法正常工作。
另外,昨天我和我的移动应用老师尝试将自定义变量和文本字段等同起来,但它不起作用。
var UIDateStamp = UITextField().self
我的搜索措辞可能不正确,但我已经用我能想到的所有不同方式搜索了同一个查询,但迄今为止我尝试过的每个解决方案都会给我带来很多错误,而我的编码课程无法解决。
非常感谢您在此问题上的帮助。
【问题讨论】:
您以哪种格式将日期传递给此函数 convertDateFormatter(date: String) ? 在 Swift 中使用 Date 类而不是 NSDate 类 这是非常基本的东西。看来你的老师也需要老师。 ;-) 【参考方案1】:如果你需要系统日期,你需要创建不带参数的函数。
斯威夫特 3
func convertDateFormatter() -> String
let date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy" // change format as per needs
let result = formatter.string(from: date)
return result
【讨论】:
非常感谢这很好,但我仍然无法将结果放入文本字段。我尝试将结果设置为变量,但我无法两次声明该变量或将字符串等同于我希望它进入的文本字段。这不起作用:~~ let formatter.string(from: date) = (RoundStyleTextField .text)~~ 这也不行:~~var result = let formatter.string(from: date) [New line] var result = (RoundStyleTextField.text)~~ 你知道怎么把它放到一个文本域?【参考方案2】:如果您想要根据当前区域设置的日期格式,请使用 timeStyle
和 dateStyle
属性。
此代码(作为计算属性)返回美国语言环境的 M/d/yy
var timeStamp : String
let formatter = DateFormatter()
formatter.timeStyle = .none
formatter.dateStyle = .short
return formatter.string(from: Date())
日期样式medium
返回MMM d, yyyy
【讨论】:
以上是关于将系统日期快速放入文本字段的主要内容,如果未能解决你的问题,请参考以下文章