问题描述
目前,我一直在尝试实现这一壮举的不同方法。 我在这里格式化的方式产生了当前日期8月30日下午6:28
import SwiftUI
struct TestDate: View {
var time = Date()
var dateFormatter: DateFormatter {
let df = DateFormatter()
df.dateFormat = "MMM d,h:mm a"
return df
}
var body: some View {
Text("\(time,formatter: dateFormatter)")
}
}
这正是我想要的。但是,我希望显示昨天,今天和明天,而不是“ 8月30日” /相对当前日期。如何在SwiftUI中做到这一点
编辑:我的意思是当我使用DatePicker并更新日期时。而不是出现“ 8月29日下午6:50”,我希望字符串为“昨天下午6:50”。超过昨天和明天的所有日期都将显示为“ MMM d,h:mm a”
解决方法
您需要doesRelativeDateFormatting
(并且不要忘记添加样式),例如:
var dateFormatter: DateFormatter {
let df = DateFormatter()
df.dateFormat = "MMM d,h:mm a"
df.dateStyle = .medium
df.timeStyle = .short
df.doesRelativeDateFormatting = true
return df
}
,
以@Asperi所说的内容为基础。完成此操作的方法是我编写了一个函数,以格式化所需的格式。
.section-tours{
background-color:pink;
padding:5rem 0 50rem 0;
}
.center-text{
background-color:blue;
padding:30px 0;
}
.col-1-of-3{
width: calc((100%-20px)/3);
}
.card{
background-color: orange;
height:15rem;
transition: all .8s;
perspective: 1000px;
-moz-perspective: 1000px;
}
.card:hover{
transform: rotateY(180deg);
}