             return  "/Date(\(nowMillis)\(offset))/"
         case .ISO8601(let isoFormat):
             dateFormat = (isoFormat != nil) ? isoFormat!.rawValue : ISO8601Format.DateTimeMilliSec.rawValue
+            zone = NSTimeZone.localTimeZone()
         case .RSS:
             dateFormat = RSSFormat
+            zone = NSTimeZone.localTimeZone()
         case .AltRSS:
             dateFormat = AltRSSFormat
+            zone = NSTimeZone.localTimeZone()
         case .Custom(let string):
+            switch timeZone {
+            case .Local:
+                zone = NSTimeZone.localTimeZone()
+            case .UTC:
+                zone = NSTimeZone(forSecondsFromGMT: 0)
+            }
             dateFormat = string
         }
-        let formatter = NSDate.formatter(format: dateFormat)
+        
+        let formatter = NSDate.formatter(format: dateFormat, timeZone: zone)
         return formatter.stringFromDate(self)
     }
     

            
        case .Custom(let dateFormat):
            
            let formatter = NSDate.formatter(format: dateFormat)
            if let date = formatter.dateFromString(string as String) {
                self.init(timeInterval:0, sinceDate:date)
            } else {

        }
        
        let string = string as NSString
        
        let zone: NSTimeZone
        
        switch timeZone {
        case .Local:
            zone = NSTimeZone.localTimeZone()
        case .UTC:
            zone = NSTimeZone(forSecondsFromGMT: 0)
        }
        
        switch format {
            
