@@ -29,10 +29,11 @@ #import "OFDictionary.h" #import "OFMessagePackExtension.h" #ifdef OF_HAVE_THREADS # import "OFMutex.h" #endif +#import "OFStrFTime.h" #import "OFStrPTime.h" #import "OFString.h" #import "OFSystemInfo.h" #import "OFTaggedPointerDate.h" #import "OFXMLAttribute.h" @@ -510,11 +511,11 @@ return OFOrderedSame; } - (OFString *)description { - return [self dateStringWithFormat: @"%Y-%m-%dT%H:%M:%SZ"]; + return [self dateStringWithFormat: @"%Y-%m-%dT%H:%M:%S%z"]; } - (OFData *)messagePackRepresentation { void *pool = objc_autoreleasePoolPush(); @@ -690,22 +691,15 @@ #endif pageSize = [OFSystemInfo pageSize]; buffer = OFAllocMemory(1, pageSize); @try { -#ifndef OF_WINDOWS - if (strftime(buffer, pageSize, format.UTF8String, &tm) == 0) + if (OFStrFTime(buffer, pageSize, format.UTF8String, &tm, + 0) == 0) @throw [OFOutOfRangeException exception]; ret = [OFString stringWithUTF8String: buffer]; -#else - if (wcsftime(buffer, pageSize / sizeof(wchar_t), - format.UTF16String, &tm) == 0) - @throw [OFOutOfRangeException exception]; - - ret = [OFString stringWithUTF16String: buffer]; -#endif } @finally { OFFreeMemory(buffer); } return ret; @@ -750,22 +744,15 @@ #endif pageSize = [OFSystemInfo pageSize]; buffer = OFAllocMemory(1, pageSize); @try { -#ifndef OF_WINDOWS - if (strftime(buffer, pageSize, format.UTF8String, &tm) == 0) + if (OFStrFTime(buffer, pageSize, format.UTF8String, &tm, + 0) == 0) @throw [OFOutOfRangeException exception]; ret = [OFString stringWithUTF8String: buffer]; -#else - if (wcsftime(buffer, pageSize / sizeof(wchar_t), - format.UTF16String, &tm) == 0) - @throw [OFOutOfRangeException exception]; - - ret = [OFString stringWithUTF16String: buffer]; -#endif } @finally { OFFreeMemory(buffer); } return ret;