在我的dateLabel中,我得到以下结果2018-05-09 02:21:23 +0000。 在我的代码的哪个位置我需要做的事情' dateformatting'获得2018年5月10日晚上10点。 谢谢。
struct Model {
let firstName: String
let lastName: String
let timestamp: Date
static func loadSampleData() -> [Model] {
return [
Model(firstName: "john", lastName: "doe", timestamp: Date()),
Model(firstName: "alex", lastName: "doe", timestamp: Date()),
Model(firstName: "lisa", lastName: "doe", timestamp: Date())
]
}
}
class ModelTableViewCell: UITableViewCell {
@IBOutlet weak var firstNameLabel: UILabel!
@IBOutlet weak var lastNameLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
func update(with name: Model) {
firstNameLabel.text = name.firstName
lastNameLabel.text = name.lastName
dateLabel.text = "\(name.timestamp)"
}
}
答案 0 :(得分:1)
日期格式化程序是非常重的对象,所以不要使它本地化并尝试在整个应用程序中重用该对象。为此,您可以extension
DateFormatter
Date
并为该格式化程序创建一个静态属性。定义该扩展中的所有格式化程序。要在您的应用中的任何位置使用它,请扩展extension DateFormatter {
static let shortDate: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "MMM dd,yyyy hh:mm a"
return formatter
}()
}
extension Date {
/// Prints a string representation for the date with the given formatter
func string(with format: DateFormatter) -> String {
return format.string(from: self)
}
/// Creates an `Date` from the given string and formatter. Nil if the string couldn't be parsed
init?(string: String?, formatter: DateFormatter) {
guard let date = formatter.date(from: string ?? "") else { return nil }
self.init(timeIntervalSince1970: date.timeIntervalSince1970)
}
}
并使用它。
update(with name: Model)
在let strDate = name.timestamp.string(with: .shortDate)
方法中将其用作:
strDate
现在在您的标签中传递string(with format: DateFormatter)
。
如果要在日期中使用dataset_csv = np.loadtxt('dataset.csv', delimiter=',')
x_train=dataset_csv[:round(len(dataset)*0.9),0:3]
y_train=dataset_csv[:round(len(dataset)*0.9),3]
x_test=dataset_csv[round(len(dataset)*0.9):,0:3]
y_test=dataset_csv[round(len(dataset)*0.9):,3]
model =Sequential()
model.add(Dense(12, input_dim=3, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.fit(x_train,y_train,epochs = 10, batch_size =24)
scores = model.evaluate(x_test,y_test)
方法转换字符串。
答案 1 :(得分:0)
在update
方法中使用日期格式化程序,而不是使用字符串插值。
func update(with name: Model) {
firstNameLabel.text = name.firstName
lastNameLabel.text = name.lastName
let fmt = DateFormatter()
fmt.dateStyle = .medium
fmt.timeStyle = .medium
dateLabel.text = fmt.string(from: name.timestamp)
}
根据您的需要设置样式。