@@ -20,9 +20,8 @@ + (NSString *)stringForValue:(NSUInteger)value withNonPluralUnit:(NSString *)uni
2020
2121+ (NSString *)stringFromTimeInterval : (NSTimeInterval )timeInterval
2222{
23- NSUInteger time = (NSUInteger )timeInterval;
24- NSUInteger seconds = time % 60 ;
25- NSUInteger minutes = time / 60 ;
23+ NSUInteger seconds = (NSUInteger )timeInterval;
24+ NSUInteger minutes = seconds / 60 ;
2625 NSUInteger hours = minutes / 60 ;
2726 NSUInteger days = hours / 24 ;
2827 NSUInteger weeks = days / 7 ;
@@ -43,12 +42,38 @@ + (NSString *)stringFromTimeInterval:(NSTimeInterval)timeInterval
4342 return string;
4443}
4544
46-
4745+ (NSString *)stringFromDate : (NSDate *)date
4846{
4947 return [NFDateUtils stringFromDate: date withFormat: NFDateFormatISO_8601];
5048}
5149
50+ + (NSString *)isoStyleStringFromTimeInterval : (NSTimeInterval )timeInterval displayingTimeUnitOptions : (TimeUnitOptions)timeUnitOptions
51+ {
52+ NSUInteger time = (NSUInteger )timeInterval;
53+ NSUInteger hours = time / 3600 ;
54+ NSUInteger minutes = (time / 60 ) % 60 ;
55+ NSUInteger seconds = time % 60 ;
56+
57+ NSString *string = @" " ;
58+ if (timeUnitOptions & TimeUnitHours) {
59+ string = [string stringByAppendingFormat: @" %lu " , hours];
60+ }
61+ if (timeUnitOptions & TimeUnitMinutes) {
62+ if (string.length > 0 ) {
63+ string = [string stringByAppendingString: @" :" ];
64+ }
65+ string = [string stringByAppendingFormat: @" %02ld " , minutes];
66+ }
67+ if (timeUnitOptions & TimeUnitSeconds) {
68+ if (string.length > 0 ) {
69+ string = [string stringByAppendingString: @" :" ];
70+ }
71+ string = [string stringByAppendingFormat: @" %02ld " , seconds];
72+ }
73+
74+ return string;
75+ }
76+
5277+ (NSString *)stringFromDate : (NSDate *)date withStyle : (NSDateFormatterStyle )style
5378{
5479 NSDateFormatter *formatter = [[NSDateFormatter alloc ] init ];
@@ -85,6 +110,10 @@ + (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)dateFormat
85110{
86111 NSDateFormatter *formatter = [[NSDateFormatter alloc ] init ];
87112 formatter.dateFormat = dateFormat;
113+
114+ NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT: 0 ];
115+ [formatter setTimeZone: timeZone];
116+
88117 NSDate *date = [formatter dateFromString: string];
89118 return date;
90119}
0 commit comments