     A string representation based on a format.
     
     - Parameter format: The format of date can be .ISO8601(.ISO8601Format?), .DotNet, .RSS, .AltRSS or Custom(FormatString).
+    - Parameter timeZone: The time zone to interpret the date can be .Local, .UTC applies to Custom format only
     - Returns The date string representation
     */
-    func toString(format format: DateFormat) -> String
+    func toString(format format: DateFormat, timeZone: TimeZone = .Local) -> String
     {
         var dateFormat: String
+        let zone: NSTimeZone
         switch format {
         case .DotNet:
             let offset = NSTimeZone.defaultTimeZone().secondsFromGMT / 3600

            
        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 {

    
    - Parameter fromString Date string i.e. "16 July 1972 6:12:00".
    - Parameter format The Date Formatter type can be .ISO8601(ISO8601Format?), .DotNet, .RSS, .AltRSS or Custom(String).
    - Parameter timeZone: The time zone to interpret fromString can be .Local, .UTC applies to Custom format only
    
    - Returns A new date
    */
    
    convenience init(fromString string: String, format:DateFormat, timeZone: TimeZone = .Local)
    {
        if string.isEmpty {
            self.init()
