]> err.no Git - scalable-opengroupware.org/blobdiff - SoObjects/SOGo/NSCalendarDate+SOGo.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1163 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / SoObjects / SOGo / NSCalendarDate+SOGo.m
index a6160cadcee87cb5e42d3d1cf378ca719a8b4a79..c3cd249216b60cc87c562ebc7f983effe2a299af 100644 (file)
    02111-1307, USA.
 */
 
+#import <Foundation/NSCalendarDate.h>
+#import <Foundation/NSTimeZone.h>
 #import <NGExtensions/NSCalendarDate+misc.h>
 
 #import "NSCalendarDate+SOGo.h"
 
+static NSString *rfc822Days[] = {@"Sun", @"Mon", @"Tue", @"Wed", @"Thu",
+                                @"Fri", @"Sat"};
+static NSString *rfc822Months[] = {@"", @"Jan", @"Feb", @"Mar", @"Apr",
+                                  @"May", @"Jun", @"Jul", @"Aug" , @"Sep",
+                                  @"Oct", @"Nov", @"Dec"};
+
 @implementation NSCalendarDate (SOGoExtensions)
 
 + (id) dateFromShortDateString: (NSString *) dateString
   return str;
 }
 
+- (NSString *) rfc822DateString
+{
+  int timeZoneShift, tzSeconds;
+
+  tzSeconds = [[self timeZone] secondsFromGMT];
+  timeZoneShift = (tzSeconds / 3600);
+  tzSeconds -= timeZoneShift * 3600;
+  timeZoneShift *= 100;
+  timeZoneShift += tzSeconds / 60;
+
+  return
+    [NSString stringWithFormat: @"%@, %.2d %@ %d %.2d:%.2d:%.2d %.4d",
+             rfc822Days[[self dayOfWeek]], [self dayOfMonth],
+             rfc822Months[[self monthOfYear]], [self yearOfCommonEra],
+             [self hourOfDay], [self minuteOfHour], [self secondOfMinute],
+             timeZoneShift];
+}
+
 @end