• [Swift通天遁地]五、高级扩展-(3)日期和时间类型的扩展方法


    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10235470.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示日期和时间类型的扩展方法。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    1 platform :ios, ‘12.02 use_frameworks!
    3 
    4 target 'DemoApp' do
    5     source 'https://github.com/CocoaPods/Specs.git'
    6     
    7     pod 'AFDateHelper', '~> 4.2.2'
    8 end

    根据配置文件中的相关配置,安装第三方库。

    然后点击打开【DemoApp.xcworkspace】项目文件。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

    现在开始编写代码,调用第三方库对日期和时间的扩展方法。

      1 import UIKit
      2 //在当前的类文件中,引入已经安装的第三方类库
      3 import AFDateHelper
      4 
      5 class ViewController: UIViewController {
      6 
      7     override func viewDidLoad() {
      8         super.viewDidLoad()
      9         // Do any additional setup after loading the view, typically from a nib.
     10         
     11         //将一个字符串初始化为数组,并指定日期的格式。
     12         var date = Date(fromString: "16 July 1972 6:12:00", format: .custom("dd MMM yyyy HH:mm:ss"))
     13         //在控制台输出初始化的日期对象
     14         print(date!.toString())
     15         
     16         //在对日期进行初始化时,第三方类库提供了五种日期格式。
     17         //用点格式对日期进行格式化。
     18         date = Date(fromString: "/Date(1260123281843)/", format: .dotNet)
     19         //在控制台输出初始化的日期对象
     20         print(date?.toString())
     21         
     22         //日期类型的明天方法
     23         print(Date.tomorrow().toString())
     24         //日期类型的昨天方法
     25         print(Date.yesterday().toString())
     26         
     27         let now = Date()
     28         //判断一个日期,在忽略时间的前提下,是否和另一个日期相等。
     29         print("now.isSameDay:(now.compare(.isSameDay(as: date)))")
     30         //判断是否为今天
     31         print("date.isToday:(date.compare(.isToday))")
     32         //判断是否为明天
     33         print("date.isTomorrow:(date.compare(.isTomorrow))")
     34         //判断是否为昨天
     35         print("date.isYesterday:(date.compare(.isYesterday))")
     36         //判断是否为同一周
     37         print("date.isSameWeek:(date.compare(.isSameWeek(as: now)))")
     38         //判断是否为同一个月份
     39         print("date.isSameMonth:(date.compare(.isSameMonth(as: now)))")
     40         //判断是否为同一个年份
     41         print("date.isSameYear:(date.compare(.isSameYear(as: now)))")
     42         //判断是否在本周
     43         print("date.isYesterday:(date.compare(.isWeek))")
     44         //判断是否在下周
     45         print("date.isNextWeek:(date.compare(.isNextWeek))")
     46         //判断是否在上周
     47         print("date.isLastWeek:(date.compare(.isLastWeek))")
     48         //判断是否在明年
     49         print("date.isNextYear:(date.compare(.isNextYear))")
     50         //判断是否在去年
     51         print("date.isLastYear:(date.compare(.isLastYear))")
     52         
     53         //判断该日期在日期之后的秒数
     54         print("date.secondsAfterDate:(date.since(now, in: .second))")
     55         //判断该日期在日期之前的秒数
     56         print("date.secondsAfterDate:(now.since(date, in: .second))")
     57         //判断该日期在日期之后的分钟数
     58         print("date.minutesAfterDate:(date.since(now, in: .minute))")
     59         //判断该日期在日期之前的分钟数
     60         print("date.minutesAfterDate:(now.since(date, in: .minute))")
     61         //判断该日期在日期之后的小时数
     62         print("date.hoursAfterDate:(date.since(now, in: .hour))")
     63         //判断该日期在日期之前的小时数
     64         print("date.hoursAfterDate:(now.since(date, in: .hour))")
     65         //判断该日期在日期之后的天数
     66         print("date.daysAfterDate:(date.since(now, in: .day))")
     67         //判断该日期在日期之前的天数
     68         print("date.daysAfterDate:(now.since(date, in: .day))")
     69         
     70         //判断该日期在日期距离最近的小时数
     71         print("date.nearestHour:(date.dateFor(.nearestHour(hour: 1)))")
     72         //获得该日期的年份
     73         print("date.year:(String(describing: date.component(.year)))")
     74         //获得该日期的月份
     75         print("date.year:(String(describing: date.component(.month)))")
     76         //获得该日期的天数
     77         print("date.day:(String(describing: date.component(.day)))")
     78         //获得该日期的小时数
     79         print("date.hour:(String(describing: date.component(.hour)))")
     80         //获得该日期的分钟数
     81         print("date.minute:(String(describing: date.component(.minute)))")
     82         //获得该日期的秒数
     83         print("date.second:(String(describing: date.component(.second)))")
     84         //获得该日期的星期数
     85         print("date.weekday:(String(describing: date.component(.weekday)))")
     86         //获得该日期在一个月中的第几个星期数
     87         print("date.nthWeekday:(String(describing: date.component(.nthWeekday)))")
     88         
     89         //获得该日期在一个月中的天数
     90         print("date.firstDayOfWeek:(date.firstDayOfWeek())")
     91         //获得星期中的第一天
     92         print("date.lastDayOfWeek:(date.lastDayOfWeek())")
     93         //获得星期中的最后一天
     94         print("date.numberOfDaysInMonth:(date.numberOfDaysInMonth())")
     95         
     96         //获得日期所在月份的总的天数
     97         print("custom:(date.toString(format: .custom("dd MMM yyyy HH:mm:ss")))")
     98         //将日期按照自定义的格式转换为字符串
     99         print("custom:(date.toString(format: .isoYearMonth))")
    100     }
    101 }
  • 相关阅读:
    apache配置文件参数优化
    apache 虚拟主机详细配置:http.conf配置详解
    Apache安装问题:configure: error: APR not found . Please read the documentation
    lamp安装
    Linux运维常用命令总结
    mysql主从日志的定期清理
    python写的分析mysql binlog日志工具
    mysql5.6主从参数详解
    京东MySQL监控之Zabbix优化、自动化
    CentOS 6.5 生产环境编译安装LNMP
  • 原文地址:https://www.cnblogs.com/strengthen/p/10235470.html
Copyright © 2020-2023  润新知