37

GitHub - novalagung/nvdate: Swift4 Date extension library

 5 years ago
source link: https://github.com/novalagung/nvdate
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Introduction

Build Status CocoaPods CocoaPods

NVDate is an extension of NSDate class (Swift4), created to make date and time manipulation easier. NVDate is testable and robust, we wrote intensive test to make sure everything is safe.

Features

  • Has lot of API function to make date and time manipulation easier and fun
  • Has user friendly naming convention
  • NVDate functions are chainable
  • Very easy to use
  • Open Source!

Installation

Using Cocoa Pods

Swift4

Add these into your Podfile:

pod 'NVDate', '2.0.1'

Then import NVdate into your swift file.

import NVDate
Objective-C

Add these into your Podfile:

pod 'NVDate', '1.0.0'

Then import NVdate.h into your .h or .m file.

#import "NVDate.h"

Simple Example

Today date as string

let date = NVDate()

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

Date 2018/05/25 as string

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

Last day of next 2 months

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

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

Second week of 2 months ago

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

Detect if 2018/05/25 is friday

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

print(todayIsFriday)
// ==> false

Dot syntax

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

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

API Documentation

Initialization

Initialization Description NVDate() Today date is used as date value NVDate(fromString:withFormat:) Use specified date string as date value. Format of specified date string has to be explicitly defined. NVDate(year:month:day:) Construct new date using year, month, and day NVDate(year:month:day:hour:minute:second:) Construct new date using year, month, day, hour, minute, second NVDate(fromDate:) use specified date as value

Methods

Method Description date() return the date object asString() return string formatted of date object asString(withFormat:) return formatted string value of date object. the format has to be defined explicitly setTimeAsZero() set hour, minute, and second as 0 dateFormat() return the current date format. the format is used on asString() dateFormat(setFormat:) change current date format. the format is used on asString() dateStyle() return the date style of current formatter dateStyle(setStyle:) change date style of current formatter timeStyle() return the time style of current formatter timeStyle(setStyle:) change time style of current formatter timeZone() return current timezone value timeZone(setTimeZone:) change the timezone value nextDays(days:) move to next x days nextDay() move to next day tomorrow() alias of nextDay() previousDays(days:) move to previous x days previousDay() move to previous day yesterday() alias of previousDay() nextWeek() move to next week nextWeeks(diff:) move to next x weeks previousWeek() move to previous week previousWeeks(diff:) move to previous x weeks nextMonth() move to next month nextMonths(diff:) move to next x months previousMonth() move to previous month previousMonths(diff:) move to previous x months nextYear() move to next year nextYears(diff:) move to next x years previousYear() move to previous year previousYears(diff:) move to previous x years firstDayOfMonth() move to first day of current month lastDayOfMonth() move to last day of current month firstMonthOfYear() move to first month of current year lastMonthOfYear() move to last month of current year nearestPreviousDay(_:) move to x previous day that name equal to NVDate.DayName nearestNextDay(_:) move to x next day that name equal to NVDate.DayName thisDayName() get today day name, in type NVDate.DayName todayName() alias of thisDayName() isThisDayName(_:) return true if specified day name is equal with day on the object isTodayName(_:) alias of isThisDayName(_:) thisMonthName() get this month name, in type NVDate.MonthName isThisMonthName(_:) return true if specified month name is equal with month on the object year() return year value year(setYear:) change year value month() return month value month(setMonth:) change month value weekOfYear() return week of year value weekOfMonth() return week of month value day() return day value day(setDay:) change day value hour() return hour value hour(setHour:) change hour value minute() return minute value minute(setMinute:) change minute value second() return second value second(setSecond:) change second value

Contribution

Feel free to contribute by doing fork -> pull request

License

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK