//
|
// SwiftDate
|
// Parse, validate, manipulate, and display dates, time and timezones in Swift
|
//
|
// Created by Daniele Margutti
|
// - Web: https://www.danielemargutti.com
|
// - Twitter: https://twitter.com/danielemargutti
|
// - Mail: hello@danielemargutti.com
|
//
|
// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
|
//
|
|
import Foundation
|
|
public extension Date {
|
|
/// Indicates whether the month is a leap month.
|
var isLeapMonth: Bool {
|
return inDefaultRegion().isLeapMonth
|
}
|
|
/// Indicates whether the year is a leap year.
|
var isLeapYear: Bool {
|
return inDefaultRegion().isLeapYear
|
}
|
|
/// Julian day is the continuous count of days since the beginning of
|
/// the Julian Period used primarily by astronomers.
|
var julianDay: Double {
|
return inDefaultRegion().julianDay
|
}
|
|
/// The Modified Julian Date (MJD) was introduced by the Smithsonian Astrophysical Observatory
|
/// in 1957 to record the orbit of Sputnik via an IBM 704 (36-bit machine)
|
/// and using only 18 bits until August 7, 2576.
|
var modifiedJulianDay: Double {
|
return inDefaultRegion().modifiedJulianDay
|
}
|
|
/// Return elapsed time expressed in given components since the current receiver and a reference date.
|
///
|
/// - Parameters:
|
/// - refDate: reference date (`nil` to use current date in the same region of the receiver)
|
/// - component: time unit to extract.
|
/// - Returns: value
|
func getInterval(toDate: Date?, component: Calendar.Component) -> Int64 {
|
return inDefaultRegion().getInterval(toDate: toDate?.inDefaultRegion(), component: component)
|
}
|
}
|