SwiftUI日期基础之如何获取每个月和月份的名称

实战需求

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

本文价值与收获

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

Jietu20200501-235655.gif

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

日期显示与处理是每个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
    }
}

推荐日期相关技术

日期数据获取

  • SwiftUI基础之获取设备时区与日期时间Region和Date

日期的计算

  • SwiftUI日期之计算两个日期间隔多少天(Date DatePicker)
  • SwiftUI日期之计算两个日期间隔多少天(Date DatePicker)

中文日期

  • SwiftUI实战之日期日历年月日星期天干地支十二时辰时分秒
  • SwiftUI实战之如何显示中文日期选择器datepicker

技术交流

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

  • 请关注我的专栏icloudend, SwiftUI教程与源码
    https://www.jianshu.com/c/7b3e3b671970

推荐SwiftUI精品文章文章

CoreData篇

  • SwiftUI数据存储之做个笔记App 新增与查询(CoreData)
  • SwiftUI进阶之存储用户状态实现登录与登出
  • SwiftUI 数据之List显示Sqlite数据库内容(2020年教程)

TextField篇

  • 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
  • 《SwiftUI实战之TextField风格自定义与formatters》
  • 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
  • 《SwiftUI 当键盘出现时避免TextField被遮挡自动向上移动》
  • 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》

你可能感兴趣的:(SwiftUI日期基础之如何获取每个月和月份的名称)