swift - 将 NSDateComponents 分配给标签
问题描述
我正在创建一个具有特定日期倒计时的移动应用程序。我认为我的计时器本身是正确的,但是我正在努力将其转换为可以将其分配给我的标签的格式。我收到一个错误“无法使用类型为'(NSDateComponents)'的参数列表调用类型'String'的初始化程序。此错误在“var date = String(openingGavelDate)”行中找到。标签的出口有已在此文件中正确创建。
我采取的第一步是创建日期变量并将其设置为等于我的另一个变量的转换值。第二步涉及尝试查看文档,但到目前为止,我还没有真正找到任何可以提供帮助的实质性文档。
func createGavelTimer() {
let openingGavelDate = NSDateComponents()
openingGavelDate.year = 2019
openingGavelDate.month = 7
openingGavelDate.day = 16
openingGavelDate.hour = 14
openingGavelDate.minute = 00
openingGavelDate.timeZone = NSTimeZone(abbreviation: "CST")! as TimeZone
var date = String(openingGavelDate) //problem is here
countdownLabel.text = date
}
解决方案
可能的解决方案之一:
let date = Calendar.current.date(from: openingGavelDate)
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .short
dateFormatter.dateStyle = .medium
dateFormatter.doesRelativeDateFormatting = true
dateFormatter.timeZone = TimeZone(abbreviation: "CST")!
let yourString = dateFormatter.string(from: date)
推荐阅读
- maven - 动态加载`buildscript`的本地`maven`存储库路径
- typescript - 在打字稿中将泛型类型转换为枚举
- vue.js - 不同状态下如何改变v-badge的颜色?
- android - Material Design UI Android中的TextField
- javascript - JavaScript CSV 读取行和列并存储在变量中
- security - TACACS+ 服务器未在授权响应中返回 av-pairs
- qgis - QGIS如何预处理图像,为什么它们看起来如此美丽?
- excel - 将评估字符串数字转换为文本
- c - 在函数中引用矩阵以计算邻接矩阵中节点的入度时出错
- swift - UIImagePickerController 加载视频文件很慢