【问题标题】:How to display only "day and month" from Date-input in SwiftUI如何在 SwiftUI 中仅显示日期输入中的“日和月”
【发布时间】:2021-01-29 12:03:29
【问题描述】:

我有一个表单,用户应该在其中选择一个日期,然后写一个总和。它工作正常,但是当我在列表中显示信息(表单核心数据)时,会显示整个日期字符串(时区、时间、年份等)。必须有一种简单的方法来显示月份和日期+日期吗?比如“1 月 28 日,星期四”

我的 ContentView 代码:

struct ContentView: View {
    @Environment(\.managedObjectContext) var moc
    @FetchRequest(entity: Kostnad.entity(), sortDescriptors: []) var kostnader:
    FetchedResults<Kostnad>
    
    @State private var showingAddScreen = false
    
 
    
    
    var body: some View {
        NavigationView{
           // Text("Count: \(kostnader.count)")
            List{
                ForEach(kostnader, id: \.self) { kostnad in
                    VStack{
                        Text("\(kostnad.sum)")
                        Text("\(kostnad.dato ?? Date())")
                    }
                }
                .onDelete(perform: deleteBooks)
               // Text("Month: \(components)")
            }
            .navigationBarTitle("Legg til")
            .navigationBarItems(leading: EditButton(), trailing:
                Button(action: {
                    self.showingAddScreen.toggle()
                }) {
                    Image(systemName: "plus")
                }
            )
            .sheet(isPresented: $showingAddScreen) {
                AddKostnad().environment(\.managedObjectContext, self.moc)
            }
        }
    }
    func deleteBooks(at offsets: IndexSet) {
        for offset in offsets {
            let kostnad = kostnader[offset]
            moc.delete(kostnad)
        }
        
        try? moc.save()
    }
}

Image of the output the way it is now!

【问题讨论】:

标签: swift core-data swiftui swiftui-datepicker


【解决方案1】:

使用 DateFormatter 扩展。

extension DateFormatter {
    static let displayDate: DateFormatter = {
         let formatter = DateFormatter()
         formatter.dateFormat = "EEEE, MMMM dd"
         return formatter
    }()
}

在视图内部

Text(DateFormatter.displayDate.string(from: kostnad.dato ?? Date()))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    相关资源
    最近更新 更多