     }
     
     func dateByAddingMonths(_ months : Int ) -> Date {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         var dateComponent = DateComponents()
         dateComponent.month = months
         return (calendar as NSCalendar).date(byAdding: dateComponent, to: self, options: NSCalendar.Options.matchNextTime)!
     }
     
     func dateByAddingDays(_ days : Int ) -> Date {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         var dateComponent = DateComponents()
         dateComponent.day = days
         return (calendar as NSCalendar).date(byAdding: dateComponent, to: self, options: NSCalendar.Options.matchNextTime)!
     }
     
     func hour() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.hour, from: self)
         return dateComponent.hour!
     }
     
     func second() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.second, from: self)
         return dateComponent.second!
     }
     
     func minute() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.minute, from: self)
         return dateComponent.minute!
     }
     
     func day() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.day, from: self)
         return dateComponent.day!
     }
     
     func weekday() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.weekday, from: self)
         return dateComponent.weekday!
     }
     
     func month() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.month, from: self)
         return dateComponent.month!
     }
     
     func year() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components(.year, from: self)
         return dateComponent.year!
     }
     
     func numberOfDaysInMonth() -> Int {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let days = (calendar as NSCalendar).range(of: NSCalendar.Unit.day, in: NSCalendar.Unit.month, for: self)
         return days.length
     }
     
     func dateByIgnoringTime() -> Date {
-        let calendar = Calendar.current
+        var calendar = Calendar.current
+        calendar.timeZone = TimeZone(identifier: "UTC")!
         let dateComponent = (calendar as NSCalendar).components([.year, .month, .day ], from: self)
         return calendar.date(from: dateComponent)!
     }

    
    init(year : Int, month : Int, day : Int) {
        
        let calendar = Calendar.current
        var dateComponent = DateComponents()
        dateComponent.year = year
        dateComponent.month = month

    }
    
    func firstDayOfMonth () -> Date {
        var calendar = Calendar.current
        calendar.timeZone = TimeZone(identifier: "UTC")!
        var dateComponent = (calendar as NSCalendar).components([.year, .month, .day ], from: self)
        dateComponent.day = 1
        return calendar.date(from: dateComponent)!
