如何解决如何使用 Vapor 4
#Date(timeStamp: appointment.appointmentDate,localizedFormat: "E,dd-MM-yyyy")
我希望:周三,30/12/2020 但我得到了周三,12/30/2020,我觉得很奇怪,因为我特别要求 dd-MM
然后我尝试了:
#Date(timeStamp: appointment.appointmentDate,fixedFormat: "E,dd-MM-yyyy")
工作正常,并为我提供:2020 年 12 月 30 日星期三
但是我还是不开心...
- 我想让它呈现 - 而不是 / : Wed,30-12-2020
和
(我知道如何在 Vapor 中做到这一点,但如果可能的话,我宁愿将它留给 Leaf。)
解决方法
创建叶子方法:
import Foundation
import Leaf
public struct DataLeafFunction: LeafFunction,StringReturn,Invariant {
public static var callSignature: [LeafCallParameter] { [
.double,.string(labeled: nil,optional: true,defaultValue: "yyyy-MM-dd")
] }
public func evaluate(_ params: LeafCallValues) -> LeafData {
guard let timestamp = params[0].double else { return .string(params[0].string) }
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = params[1].string
let date = Date(timeIntervalSinceReferenceDate: timestamp)
return .string(dateFormatter.string(from: date))
}
}
添加功能配置:
func configure(_ app: Application) throws {
LeafEngine.entities.use(DataLeafFunction(),asFunction: "date")
// ...
}
在您的模板中使用此函数:
#date(date)
#date(date,"YY/MM/dd")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。