     */
     public func weekday() -> Int
     {
-        let gregorian = NSCalendar(identifier: NSCalendarIdentifierGregorian)
-        let comp = gregorian!.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay | .CalendarUnitWeekday, fromDate: self)
+        let calendar = NSCalendar.autoupdatingCurrentCalendar()
+        let comp = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay | .CalendarUnitWeekday, fromDate: self)
         
         return comp.weekday
     }

    */
    public func isSameDay(anotherDate: NSDate) -> Bool
    {
        let calendar = NSCalendar.currentCalendar()
        let components1 = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: self)
        let components2 = calendar.components(.CalendarUnitYear | .CalendarUnitMonth | .CalendarUnitDay, fromDate: anotherDate)
        

    {
        let time: NSTimeInterval = self.timeIntervalSinceDate(anotherDate)
        return Int(abs(time / 60 / 60 / 24))
    }
    
    /**
