NSCalendar рдХреЗ рд╕рд╛рде SQLite рдХрд╛ рдЕрдиреБрдХреВрд▓рди



рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ DBMS рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд┐рдЦрдХрд░ SQLite рд╕рдкреНрддрд╛рд╣ рдЖрдзрд╛рд░рд┐рдд рдХреИрд▓реЗрдВрдбрд░ рдХрд╛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред

рд╣рдорд╛рд░реА рдЧрдгрдирд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реБрдИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрд╛рдо рдХреА рдЧрддрд┐ рдЦрд░рд╛рдм рдереАред рдХреЗрд╡рд▓ 2500 рд░рд┐рдХреЙрд░реНрдб рд╡рд╛рд▓реА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 6 рд╕реЗрдХрдВрдб рд▓рдЧреЗред рдЬрдмрдХрд┐ strftime () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рджрд╕рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рд╕реНрддреБрддрд┐, рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдФрд░ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЖрд╡рдВрдЯрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреЛрдб рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдбреЛрдбрд┐рдХрдХ / рдИрдПрд╕рдХреЛрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреГрд╖реНрда рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рди рд╣реЛрдВред

рдкрд╣рд▓реЗ рд╕рдиреНрдирд┐рдХрдЯрди рдореЗрдВ, рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рдерд╛:
void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  1. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  2. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  3. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  4. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  5. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  6. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  7. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  8. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  9. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  10. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  11. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  12. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  13. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  14. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  15. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  16. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  17. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  18. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  19. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  20. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  21. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  22. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  23. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  24. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  25. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  26. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  27. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  28. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  29. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  30. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  31. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  32. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  33. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  34. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  35. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  36. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  37. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  38. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  39. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  40. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  41. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  42. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  43. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  44. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  45. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  46. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  47. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  48. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  49. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  50. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  51. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  52. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  53. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
  54. void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .
void ObjcFormatAnsiDateUsingLocale( sqlite3_context* ctx_, int argc_, sqlite3_value** argv_ ) { assert( ctx_ ); // @autoreleasepool // ObjC . { // argc_, argv_ const unsigned char * rawFormat_ = sqlite3_value_text( argv_[0] ); const unsigned char * rawDate_ = sqlite3_value_text( argv_[1] ); const unsigned char * rawLocaleIdentifier_ = sqlite3_value_text( argv_[2] ); // , crash NSString if ( NULL == rawFormat_ || NULL == rawDate_ || NULL == rawLocaleIdentifier_ ) { sqlite3_result_error( ctx_, "ObjcFormatAnsiDate - NULL argument passed" , 3 ); return ; } // NSString NSString* strDate_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawDate_ length: strlen( ( const char *)rawDate_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* format_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawFormat_ length: strlen( ( const char *)rawFormat_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; NSString* localeIdentifier_ = [ [ NSString alloc ] initWithBytesNoCopy: ( void *)rawLocaleIdentifier_ length: strlen( ( const char *)rawLocaleIdentifier_ ) encoding: NSUTF8StringEncoding freeWhenDone: NO ]; // . en_US_POSIX yyyy-MM-dd NSDateFormatter* ansiFormatter_ = [ ESLocaleFactory ansiDateFormatter ]; // . , NSLocale* locale_ = [ [ NSLocale alloc ] initWithLocaleIdentifier: localeIdentifier_ ]; NSDateFormatter* targetFormatter_ = [ ESLocaleFactory gregorianDateFormatterWithLocale: locale_ ]; targetFormatter_.dateFormat = format_; // , NSDate* date_ = [ ansiFormatter_ dateFromString: strDate_ ]; NSString* result_ = [ targetFormatter_ stringFromDate: date_ ]; // if ( nil == result_ || [ result_ isEqualToString: @"" ] ) { sqlite3_result_null( ctx_ ); } else { sqlite3_result_text ( ctx_, ( const char *)[ result_ cStringUsingEncoding : NSUTF8StringEncoding ], ( int )[ result_ lengthOfBytesUsingEncoding: NSUTF8StringEncoding ], SQLITE_TRANSIENT // SQLite - ); } } } * This source code was highlighted with Source Code Highlighter .


рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдпрд╣ рдкрд╛рда рдХреЛ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдирд╣реАрдВ рд▓рдЧрд╛, рд▓реЗрдХрд┐рди NSDateFormatter (рд▓рд╛рдЗрди 39..45) рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реБрдПред

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рди рдФрд░ рдкреНрд░рд╛рд░реВрдк рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рдХреЗ рднреАрддрд░, рдпреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рдмрджрд▓реЗрдВрдЧреЗред рдпрд╣ рд╣рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдЪрд╛рд░ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рд╕рдВрд╕рд╛рдзрди-рдЦрдкрдд NSDateFormatter рдХреЛ рдХреБрдЫ рд╕рд┐рдВрдЧрд▓реЗрдЯреЛрди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗред рддрдм рд╕реНрд╡рд░реВрдкрдг рдЗрдХрд╛рдИ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
  1. SqlitePersistentDateFormatter * fmt_ = [SqlitePersistentDateFormatter]]; // рд╕рд┐рдВрдЧрд▓рдЯреЗрд▓реЗрдЯреЛрди рдмрдирд╛рдПрдВ
  2. NSString * result_ = nil;
  3. @synchronized (fmt_) // рд╕реНрд╡рд░реВрдкрдг рдкрд░рдорд╛рдгреБ рдФрд░ рдзрд╛рдЧрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  4. {
  5. // рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкреНрд░рд╛рд░реВрдк рдФрд░ рд╕реНрдерд╛рди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
  6. [fmt_ setFormat: format_
  7. рд▓реЛрдХреЗрд▓: localeIdentifier_];
  8. // рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВ
  9. result_ = [fmt_ getFormattedDate: strDate_];
  10. }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдФрд░ рдЕрдм рдпрд╣ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдо рдПрдХ рд╢рд╛рд╕реНрддреНрд░реАрдп рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдереНрд░реЗрдб-рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рд┐рдВрдЧреНрд▓реЗрдЯреЛрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред рд╢реЗрд╖ рдореЗрдВ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рддреЗ рд╣реИрдВ:
  1. @ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди SqlitePersistentDateFormatter
  2. {
  3. @ рдирд┐рдЬреА // рд╣рдорд╛рд░реА рднрд╛рд░реА рд╡рд╕реНрддреБрдПрдВ
  4. NSDateFormatter * ansiFormatter;
  5. NSDateFormatter * targetFormatter;
  6. }
  7. // рдПрдиреАрдлрд╛рд░реНрдорд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирдХ рд╣реИ
  8. // рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЗрдирд┐рдЯ рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдПрдВред
  9. - (рдЖрдИрдбреА) init
  10. {
  11. рдЖрддреНрдо = [рд╕реБрдкрд░ init];
  12. рдЕрдЧрд░ (рд╢реВрдиреНрдп == рд╕реНрд╡)
  13. {
  14. рд╡рд╛рдкрд╕реА ;
  15. }
  16. рдЖрддреНрдо-> рдПрдВрд╕реАрдлреЙрд░реНрдореЗрдЯрд░ = [рдИрдПрд╕рдХреЛрд▓реЗрдлреИрдХреНрдЯрд┐рдХ рдПрдиреАрдбреЗрдЯрдлрд╛рд░реНрдореЗрдЯрд░];
  17. рд╕реНрд╡ рд▓реМрдЯ рдЖрдУ;
  18. }
  19. // рдпрд╣рд╛рдБ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ
  20. - (BOOL) рд╕реЗрдЯрдлрд╝реЙрд░реНрдореЗрдЯ :( NSString *) dateFormat_
  21. рд▓реЛрдХреЗрд▓ :( NSString *) рд▓реЛрдХреЗрд▓_
  22. {
  23. NSParameterAssert (nil! = Locale_);
  24. BOOL .NoFormatter_ = (nil == self-> targetFormatter);
  25. BOOL isOtherLocale_ =! [Self-> targetFormatter.locale.localeIdentifier isEqualToString: locale_];
  26. // рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ NSDateFormatter рдмрдирд╛рдПрдБ, рдпрджрд┐ рд▓реЛрдХреЗрд▓ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ
  27. рдЕрдЧрд░ (isNoFormatter_ || isOtherLocale_)
  28. {
  29. NSCalendar * cal_ = [ESLocaleFactory gregorianCalendarWithLocaleId: locale_];
  30. self-> targetFormatter = [NSDateFormatter new ];
  31. [ESLocaleFactory setCalendar: cal_
  32. forDateFormatter: self-> targetFormatter];
  33. }
  34. // рддрд┐рдерд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ
  35. self-> targetFormatter.dateFormat = dateFormat_;
  36. рд╣рд╛рдБ рд▓реМрдЯрд╛рдирд╛ ;
  37. }
  38. // рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред
  39. // рдпрд╣ рдХреЗрд╡рд▓ рддреИрдпрд╛рд░ NSDateFormatter рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ
  40. - (NSString *) getFormattedDate :( NSString *) strDate_;
  41. {
  42. NSDate * date_ = [self-> ansiFormatter dateFromString: strDate_];
  43. NSString * result_ = [рд╕реНрд╡рдпрдВ-> targetFormatter stringFromDate: date_];
  44. рд╡рд╛рдкрд╕реА result_;
  45. }
* рдЗрд╕ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рддреЛ, рд╣рдореЗрдВ рдПрдлрдкреА рдлрд╝рдВрдХреНрд╢рди (рд╢реБрджреНрдз рдХрд╛рд░реНрдп) рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рдереНрд░реЗрдб-рд╕реЗрдл рдорд┐рд▓рд╛, рдЬреЛ рд▓рдЧрднрдЧ рдПрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрдк рдХреЛрдб рдХрд╛ рдкреВрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬреАрдердм рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ

Source: https://habr.com/ru/post/In144192/


All Articles