      - returns: The value of the Julian Day, as a fractional (double) number.
      */
     public func julianDay() -> JulianDay {
-        let calendar = Calendar(identifier: .gregorian)
+        var calendar = Calendar.gregorianGMT
         let components = calendar.dateComponents([.year, .month, .day, .hour, .minute, .second, .nanosecond], from: self)
         
         let year = Double(components.year!)

        components.hour = 0
        components.minute = 0
        components.second = 0
        return Calendar(identifier: .gregorian).date(from: components)!
    }
    
    public var fractionalYear: Double {

    }
    
    public var year: Int {
        get { return Calendar.gregorianGMT.component(.year, from: self) }
    }
    
    public var month: Int {
        get { return Calendar.gregorianGMT.component(.month, from: self) }
    }

    public var day: Int {
        get { return Calendar.gregorianGMT.component(.day, from: self) }
    }

    public var hour: Int {
        get { return Calendar.gregorianGMT.component(.hour, from: self) }
    }

    public var minute: Int {
        get { return Calendar.gregorianGMT.component(.minute, from: self) }
    }

    public var second: Int {
        get { return Calendar.gregorianGMT.component(.second, from: self) }
    }

    public var nanosecond: Int {
        get { return Calendar.gregorianGMT.component(.nanosecond, from: self) }
    }
    
    public var isLeap : Bool {
