Created
August 20, 2014 14:05
-
-
Save loganwright/76f8ae99b6f5833f7fd3 to your computer and use it in GitHub Desktop.
Date Keys
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// DateKeys.h | |
// VoxNotes | |
// | |
// Created by Logan Wright on 5/6/14. | |
// Copyright (c) 2014 Logan Wright. All rights reserved. | |
// | |
#import <Foundation/Foundation.h> | |
/*! | |
Number of seconds as at least 1 digit - 1 through 9 will show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKSecondsComplete; // s | |
/*! | |
Number of seconds as at least 2 digits - 1 through 9 will show as 01, 02, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKSeconds2Digits; // ss | |
/*! | |
Number of minutes as at least 1 digit - 1 through 9 will show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMinutesComplete; // m | |
/*! | |
Number of minutes as at least 2 digits - 1 through 9 will show as 01, 02, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMinutes2Digits; // mm | |
/*! | |
Number of hours as at least 1 digit - 12hr format 1 through 9 show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKHour12hrComplete; // h | |
/*! | |
Number of hours as at least 2 digits - 12hr format 1 through 9 show as 01 , 09 etc... | |
*/ | |
FOUNDATION_EXPORT NSString * const DKHour12hr2Digit; // hh | |
/*! | |
Number of hours as at least 1 digit - 24hr format 1 through 9 show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKHour24hrComplete; // K | |
/*! | |
Number of hours as at least 2 digits - 24hr format 1 through 9 show as 01 , 09 etc... | |
*/ | |
FOUNDATION_EXPORT NSString * const DKHour24hr2Digits; // HH | |
/*! | |
Day of week abbreviated, Wednesday => Wed | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfWeekAbbreviated; // EEE | |
/*! | |
Day of week full, Wednesday => Wednesday | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfWeekFull; // EEEE | |
/*! | |
Day of month as at least 1 digit - 1 through 9 show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfMonthComplete; // d | |
/*! | |
Day of month as at least 2 digits - 1 through 9 show as 01 , 09 etc... | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfMonth2Digits; // dd | |
/*! | |
Day of year as at least 1 digit - - 1 through 9 show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfYearComplete; // D | |
/*! | |
Day of year as at least 2 digits - 1 through 9 show as 01 , 09 etc... | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfYear2Digits; // DD | |
/*! | |
Day of year as at least 3 digits - 1 through 9 show as 001 , 009 etc... | |
*/ | |
FOUNDATION_EXPORT NSString * const DKDayOfYear3Digits; // DDD | |
/*! | |
Weak of year as at least 1 digit - 1 through 9 show as 1 single digits | |
*/ | |
FOUNDATION_EXPORT NSString * const DKWeekOfYearComplete; // w | |
/*! | |
Weak of year as at least 2 digits - 1 through 9 show as 01, 02, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKWeekOfYear2Digits; // ww | |
/*! | |
Month as Number as at least 1 digit - 1 through 9 show as single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMonthNumberComplete; // M | |
/*! | |
Month as Number as at least 2 digits - 1 through 9 show as 01 , 09 etc... | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMonthNumber2Digits; // MM | |
/*! | |
Month name abbreviated - First 3 letters | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMonthNameAbbreviated; // MMM | |
/*! | |
Month name full | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMonthNameFull; // MMMM | |
/*! | |
Month name first letter only | |
*/ | |
FOUNDATION_EXPORT NSString * const DKMonthNameFirstLetter; // MMMMM | |
/*! | |
Show complete year regardless of year length. Years < 10 will be single digit | |
*/ | |
FOUNDATION_EXPORT NSString * const DKYearComplete; // y | |
/*! | |
Year as last 2 digits w/ minimum 2 digits. Years < 10 will be 09, 08, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKYear2Digits; // yy | |
/*! | |
Year as at least 3 digits years < 100 will be 048, 049 etc. years > 999 will show complete | |
*/ | |
FOUNDATION_EXPORT NSString * const DKYear3Digits; // yyyy | |
/*! | |
Year as at least 4 digits years < 100 will be 048, 049 etc. years > 999 will show complete | |
*/ | |
FOUNDATION_EXPORT NSString * const DKYear4Digits; // yyyy | |
/*! | |
Year as at least 4 digits years < 100 will be 048, 049 etc. years > 999 will show complete | |
*/ | |
FOUNDATION_EXPORT NSString * const DKYear5Digits; // yyyyy | |
/* | |
It appears that you could continue in this pattern ad infinitum for your purposes | |
*/ | |
/*! | |
Shows AM or PM | |
*/ | |
FOUNDATION_EXPORT NSString * const DKAmPm; // a | |
/*! | |
Shows TimeZone as +0000, +0500, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneGMT; // ZZZ | |
/*! | |
Shows TimeZone abbreviated - PST, EDT, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneAbbreviated; // zzz | |
/*! | |
Shows TimeZone Complete - Pacific Standard Time, Eastern Daylight Time, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneFull; // zzzz | |
/*! | |
Shows TimeZone as 'usnyc` etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneDescriptiveShort; // V | |
/*! | |
Shows TimeZone as 'America/New_York` etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneDescriptiveExpanded; // VV | |
/*! | |
Shows TimeZone as 'New York` etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneReadableShort; // VVV | |
/*! | |
Shows TimeZone as 'New York Time` etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKTimeZoneReadableLong; // VVVV | |
/*! | |
Shows era as AD or CE, etc. | |
*/ | |
FOUNDATION_EXPORT NSString * const DKEra; // G | |
#pragma mark FORMATTER FUNCTION | |
NSString * dateFormatString(NSString * string1, ...) NS_REQUIRES_NIL_TERMINATION; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// DateKeys.m | |
// VoxNotes | |
// | |
// Created by Logan Wright on 5/6/14. | |
// Copyright (c) 2014 Logan Wright. All rights reserved. | |
// | |
#import "DateKeys.h" | |
NSString * const DKSecondsComplete = @"s"; // s | |
NSString * const DKSeconds2Digits = @"ss"; // ss | |
NSString * const DKMinutesComplete = @"m"; // m | |
NSString * const DKMinutes2Digits = @"mm"; // mm | |
NSString * const DKHour12hrComplete = @"h"; // h | |
NSString * const DKHour12hr2Digit = @"hh"; // hh | |
NSString * const DKHour24hrComplete = @"K"; // K | |
NSString * const DKHour24hr2Digits = @"HH"; // HH | |
NSString * const DKDayOfWeekAbbreviated = @"EEE"; // EEE | |
NSString * const DKDayOfWeekFull = @"EEEE"; // EEEE | |
NSString * const DKDayOfMonthComplete = @"d"; // d | |
NSString * const DKDayOfMonth2Digits = @"dd"; // dd | |
NSString * const DKWeekOfYearComplete = @"w"; // w | |
NSString * const DKWeekOfYear2Digits = @"ww"; // ww | |
NSString * const DKMonthNumberComplete = @"M"; // M | |
NSString * const DKMonthNumber2Digits = @"MM"; // MM | |
NSString * const DKMonthNameAbbreviated = @"MMM"; // MMM | |
NSString * const DKMonthNameFull = @"MMMM"; // MMMM | |
NSString * const DKMonthNameFirstLetter = @"MMMMM"; // MMMMM | |
NSString * const DKDayOfYearComplete = @"D"; // D | |
NSString * const DKDayOfYear2Digits = @"DD"; // DD | |
NSString * const DKDayOfYear3Digits = @"DDD"; // DDD | |
NSString * const DKYearComplete = @"y"; // y | |
NSString * const DKYear2Digits = @"yy"; // yy | |
NSString * const DKYear3Digits = @"yyy"; // yyyy | |
NSString * const DKYear4Digits = @"yyyy"; // yyyy | |
NSString * const DKYear5Digits = @"yyyyy"; // yyyyy | |
NSString * const DKAmPm = @"a"; // a | |
NSString * const DKTimeZoneGMT = @"ZZZ"; // ZZZ | |
NSString * const DKTimeZoneAbbreviated = @"zzz"; // zzz | |
NSString * const DKTimeZoneFull = @"zzzz"; // zzzz | |
NSString * const DKTimeZoneDescriptiveShort = @"V"; // V | |
NSString * const DKTimeZoneDescriptiveExpanded = @"VV"; // VV | |
NSString * const DKTimeZoneReadableShort = @"VVV"; // VVV | |
NSString * const DKTimeZoneReadableLong = @"VVVV"; // VVVV | |
NSString * const DKEra = @"G"; // G | |
#pragma mark FUNCTIONS | |
NSString * dateFormatString(NSString * string1, ...) { | |
// Parse out Args | |
va_list args; | |
va_start(args,string1); | |
// Set up our Format String | |
NSMutableString * formatString = [NSMutableString string]; | |
// Build Format string | |
for (NSString * arg = string1; arg != nil; arg = va_arg(args, NSString*)) { | |
[formatString appendString:arg]; | |
} | |
// Clean up variable args | |
va_end(args); | |
// Pass it back | |
return formatString; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment