SwiftUI最新教程实战项目之如何获取每个月和月份的名称

实战需求

  • 获取月份
  • 获取月份的名称

本文价值与收获

看完本文后,您将能够作出下面的界面

SwiftUI最新教程实战项目之如何获取每个月和月份的名称_第1张图片

SwiftUI最新教程实战项目之如何获取每个月和月份的名称_第2张图片


基础知识(高手可以略过此节,后面更精彩)

日期显示与处理是每个SwiftUI开发者都应该掌握的技能,其中Date、Calendar和DateFormatter是日期处理最常用的三个组件。下面让我们来看看他们三个都有什么用:
  • Date 获取时间的类型

Date类型主要用于获取日期与时间,本身提供用于比较日期、计算两个日期之间的时间间隔以及从相对于另一个日期创建新日期的方法。另外Date和与 DateFormatter 实例结合使用,以创建日期和时间的本地化表示形式,并与Calendar一起创建执行日历算术的日历值。

  • Calendar 处理日期类型

Calendar类型封装了有关日期、月份、天相关计算函数,我们通过Calendar可以实现获取Date日期,并根据日期进行运算。

  • DateFormatter

DateFormatter用于将Date转为文本表达方式的对象。

代码

import SwiftUI

struct ContentView: View {
    @State var monthName = ""
    var body: some View {
        VStack {
            VStack{
            Text("如何获取每个月和月份的名称")
                .frame(maxWidth:.infinity)
                .padding()
                .background(Color.orange)
                .padding()
                HStack{
                    Text("本月月份:")
                    Text(self.monthName)
                }
                Button("获取月份名称"){
                    self.monthName = Date().getMonthName()
                }
            }
          
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}


extension Date {
    func getMonthName() -> String {
        let date = self

        let month = Calendar.current.component(.month, from: date)

        let months = ["January", "February", "March", "April", "May", "June",
                      "July", "August", "September", "October", "November", "December"]

        let monthName = months[month-1]

       return monthName
    }
}

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

https://www.jianshu.com/c/7b3...

你可能感兴趣的:(swift,ios)