NVDate 2.1.0

NVDate 2.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2018 年 5 月

Noval Agung Prayogo 维护。



NVDate 2.1.0

  • Noval Agung Prayogo

介绍

Build Status CocoaPods CocoaPods

NVDateNSDate 类(Swift4)的扩展,旨在使日期和时间的操作更容易。

功能

  • 提供了大量的 API 函数,使日期和时间的操作更容易和有趣
  • 具有用户友好的命名约定
  • NVDate 函数是 可链式
  • 非常易于使用
  • 开源!

安装

使用 Cocoa Pods

Swift4

将这些内容添加到您的 Podfile 文件中。

pod 'NVDate', '2.0.1'

然后在您的 swift 文件中导入 NVdate

import NVDate
Objective-C

将这些内容添加到您的 Podfile 文件中。

pod 'NVDate', '1.0.0'

然后将 NVdate.h 导入到您的 .h 或 .m 文件中。

#import "NVDate.h"

简单示例

今天的日期作为字符串

let date = NVDate()

print(date.asString())
// ==> Wednesday, February 5, 2014, 4:56:35 PM Western Indonesia Time

日期 2018/05/25 作为字符串

let date = NVDate(fromString: "2018/05/25", withFormat: "yyyy/MM/dd")

print(date.asString())
// ==> Friday, May 25, 2018, 00:00:00 AM Western Indonesia Time

下一个月的最后一天

let date = NVDate()
    .nextMonths(diff: 2)
    .lastDayOfMonth()

print(date.asString(withFormat: "dd-MM-yyyy"))
// ==> 30-04-2014

两个月前的第二周

let date = NVDate()
    .previousMonths(diff: 2)
    .firstDayOfMonth()
    .nextWeek()
date.dateFormat(setFormat: "yyyy-MM-dd HH:mm:ss")

print(date.asString())
// ==> 2013-12-08 17:03:36

检测2018/05/25是否为周五

let todayIsFriday = NVDate(year: 2018, month: 5, day: 25)
    .previousDay()
    .isTodayName(.friday)

print(todayIsFriday)
// ==> false

点语法

let someday = NVDate()
    .previousDay()
    .previousWeek()
    .nextDay()
    .asString()

print(someday)
// ==> 2013-12-08 17:03:36

API 文档

初始化

初始化 描述
NVDate() 使用今天的日期作为日期值
NVDate(fromString:withFormat:) 使用指定的日期字符串作为日期值。指定的日期字符串的格式必须明确定义。
NVDate(year:month:day:) 使用年、月、日构造新的日期
NVDate(year:month:day:hour:minute:second:) 使用年、月、日、小时、分钟、秒构造新的日期
NVDate(fromDate: Date) 使用指定的日期作为值

方法

方法 描述
date() 返回日期对象
asString() 返回日期对象的格式化字符串
asString(withFormat:) 返回日期对象显式定义的格式化字符串值
setTimeAsZero() 将小时、分钟和秒设置为0
dateFormat() 返回当前日期格式。该格式用于 asString()
dateFormat(setFormat:) 更改当前日期格式。该格式用于 asString()
dateStyle() 返回当前格式器的日期样式
dateStyle(setStyle:) 更改当前格式器的日期样式
timeStyle() 返回当前格式器的日期样式
timeStyle(setStyle:) 更改当前格式器的日期样式
timeZone() 返回当前时区值
timeZone(setTimeZone:) 修改时区值
nextDays(days:) 移动到下 x
nextDay() 移动到下一天
tomorrow() 等同于 nextDay()
previousDays(days:) 移动到之前的 x
previousDay() 移动到前一天
yesterday() 等同于 previousDay()
nextWeek() 移动到下周
nextWeeks(diff:) 移动到下 x
previousWeek() 移动到上周
previousWeeks(diff:) 移动到之前的 x
nextMonth() 移动到下一个月
nextMonths(diff:) 移动到下 x 个月
previousMonth() 移动到前一个月
previousMonths(diff:) 移动到之前的 x 个月
nextYear() 移动到下一年
nextYears(diff:) 移动到下 x
previousYear() 移动到上一年
previousYears(diff:) 移动到之前的 x
firstDayOfMonth() 移动到当前月份的第一天
lastDayOfMonth() 移动到当前月份的最后一天
firstMonthOfYear() 移动到当前年份的第一个月
lastMonthOfYear() 移动到当前年份的最后一个月
nearestPreviousDay(_:) 移动到 x 天之前的 name 等于 NVDate.DayName 的那一天
nearestNextDay(_:) 移动到 x 天之后 name 等于 NVDate.DayName 的那一天
thisDayName() 获取今日星期,类型为 NVDate.DayName
todayName() 等同于 thisDayName()
isThisDayName(_:) 如果指定的日期名称等于对象上的日期,则返回 true
isTodayName(_:) 等同于 isThisDayName(_:)
thisMonthName() 获取本月的名称,类型为 NVDate.MonthName
isThisMonthName(_:) 如果指定的月份名称等于对象上的月份,则返回 true
year() 返回年份值
year(setYear:) 更改年份值
month() 返回月份值
month(setMonth:) 更改月份值
weekOfYear() 返回年份中的周数值
weekOfMonth() 返回月份中的周数值
day() 返回日期值
day(setDay:) 更改日期值
hour() 返回小时值
hour(setHour:) 更改小时值
minute() 返回分钟值
minute(setMinute:) 更改分钟值
second() 返回秒值
second(setSecond:) 更改秒值

贡献

请随意通过进行 fork -> pull request 来贡献

许可

http://novalagung.mit-license.org/