ISO 8601 parser/unparser / testparser.m

The default branch has multiple heads

#import <Foundation/Foundation.h>
#import "ISO8601DateFormatter.h"

int main(int argc, const char **argv) {
	NSAutoreleasePool *pool = [NSAutoreleasePool new];

	BOOL parseStrictly = NO;
	if((argc > 1) && (strcmp(argv[1], "--strict") == 0)) {
		parseStrictly = YES;

	[NSTimeZone setDefaultTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:+0]];

	ISO8601DateFormatter *formatter = [[[ISO8601DateFormatter alloc] init] autorelease];
	formatter.parsesStrictly = parseStrictly;

	while(--argc) {
		NSString *str = [NSString stringWithUTF8String:*++argv];
		NSLog(@"Parsing strictly: %hhi", parseStrictly);
		NSDate *date = [formatter dateFromString:str];
		fputs([[NSString stringWithFormat:@"%@ %C %@\n", str, 0x2192, date] UTF8String], stdout);

	[pool release];
	return 0;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.