@@ -26,7 +26,7 @@ @implementation MMQreki
26
26
#pragma mark -------------------------------------------------------
27
27
28
28
- (void )initializeTable {
29
-
29
+
30
30
self.replaceTable = [@[@[@611 ,@2350 ],
31
31
@[@468 ,@3222 ],
32
32
@[@316 ,@7317 ],
@@ -59,10 +59,10 @@ - (void)initializeTable {
59
59
@[@356 ,@3366 ],
60
60
@[@572 ,@3475 ],
61
61
@[@442 ,@1450 ]] mutableCopy ];
62
-
62
+
63
63
self.maxDays = [@[@31 ,@28 ,@31 ,@30 ,@31 ,@30 ,@31 ,@31 ,@30 ,@31 ,@30 ,@31 ] mutableCopy ];
64
64
self.oldTable = [@[@14 ] mutableCopy ];
65
-
65
+
66
66
if (!self.dateFormatter ) {
67
67
self.dateFormatter = [[NSDateFormatter alloc ] init ];
68
68
self.dateFormatter .dateFormat = @" yyyy/MM/dd" ;
@@ -74,11 +74,11 @@ - (void)initializeTable {
74
74
#pragma mark -------------------------------------------------------
75
75
76
76
- (NSString *)getOldToNewCalender : (NSDate *)oldDate {
77
-
77
+
78
78
[self initializeTable ];
79
-
79
+
80
80
NSString *oldDateString = [self .dateFormatter stringFromDate: oldDate];
81
-
81
+
82
82
NSNumber *newYear, *newMonth, *newDay, *tmp, *dofNewYear;
83
83
NSNumber *oyy = @([[oldDateString substringToIndex: 4 ] intValue ]);
84
84
NSNumber *omm = @([[oldDateString substringWithRange: NSMakeRange (5 , 2 )] intValue ]);
@@ -117,30 +117,30 @@ - (NSString *)getOldToNewCalender:(NSDate *)oldDate {
117
117
if ([newDay intValue ] < 0 ) {
118
118
return nil ;
119
119
}
120
- return [NSString stringWithFormat: @" %@ /%@ / %@ " , newYear, newMonth, newDay ];
120
+ return [NSString stringWithFormat: @" %@ /%02d / %02d " , oyy, [omm intValue ], [odd intValue ] ];
121
121
}
122
122
123
123
- (NSString *)getNewToOldCalender : (NSDate *)newDate {
124
-
124
+
125
125
[self initializeTable ];
126
-
126
+
127
127
NSString *newDateString = [self .dateFormatter stringFromDate: newDate];
128
-
128
+
129
129
NSNumber *oyy, *omm, *odd, *uruu, *DofNyy;
130
130
NSNumber *nyy = @([[newDateString substringToIndex: 4 ] intValue ]);
131
131
NSNumber *nmm = @([[newDateString substringWithRange: NSMakeRange (5 , 2 )] intValue ]);
132
132
NSNumber *ndd = @([[newDateString substringFromIndex: 8 ] intValue ]);
133
-
133
+
134
134
DofNyy = [self numberDays: nyy month: nmm day: ndd];
135
135
oyy = nyy;
136
136
[self tableExpand: oyy];
137
-
137
+
138
138
if ([DofNyy intValue ] < [self .oldTable[0 ][0 ] intValue ]) {
139
139
oyy = @([oyy intValue ] -1 );
140
140
DofNyy = @([DofNyy intValue ] + 365 + [[self leapYear: oyy] intValue ]);
141
141
[self tableExpand: oyy];
142
142
}
143
-
143
+
144
144
for (int i = 12 ; i >= 0 ; i--) {
145
145
if (![self .oldTable[i][1 ] isEqualToNumber: @0 ]) {
146
146
if ([self .oldTable[i][0 ] intValue ] <= [DofNyy intValue ]) {
@@ -150,7 +150,7 @@ - (NSString *)getNewToOldCalender:(NSDate *)newDate {
150
150
}
151
151
}
152
152
}
153
-
153
+
154
154
if ([omm intValue ] < 0 ) {
155
155
uruu = @1 ;
156
156
omm = @([omm intValue ] - [omm intValue ]);
@@ -162,19 +162,19 @@ - (NSString *)getNewToOldCalender:(NSDate *)newDate {
162
162
}
163
163
164
164
- (NSString *)getRokuyo : (NSDate *)newDate {
165
-
165
+
166
166
NSArray *rokuyo = @[@" 大安" ,@" 赤口" ,@" 先勝" ,@" 友引" ,@" 先負" ,@" 仏滅" ];
167
-
167
+
168
168
NSString *oldCal = [self getNewToOldCalender: newDate];
169
169
NSArray *sepCal = [oldCal componentsSeparatedByString: @" /" ];
170
170
NSInteger oldMonth = [sepCal[1 ] intValue ];
171
171
NSInteger oldDay = [sepCal[2 ] intValue ];
172
-
172
+
173
173
NSInteger md = oldMonth + oldDay;
174
174
float index = md % 6 ;
175
-
175
+
176
176
NSString *roku = rokuyo[(int )index ];
177
-
177
+
178
178
return roku;
179
179
}
180
180
@@ -193,7 +193,7 @@ - (NSNumber *)leapYear:(NSNumber *)year {
193
193
- (NSNumber *)numberDays : (NSNumber *)year month : (NSNumber *)month day : (NSNumber *)day {
194
194
195
195
self.maxDays [1 ] = @(28 + [[self leapYear: year] intValue ]);
196
-
196
+
197
197
NSNumber *days = day;
198
198
for (int i = 1 ; i < [month intValue ]; i++) {
199
199
days = @([days intValue ] + [self .maxDays[i-1 ] intValue ]);
@@ -204,12 +204,12 @@ - (NSNumber *)numberDays:(NSNumber *)year month:(NSNumber *)month day:(NSNumber
204
204
- (void )tableExpand : (NSNumber *)year {
205
205
206
206
NSNumber *ommax, *days, *uruu, *bit;
207
-
207
+
208
208
days = self.replaceTable [[year intValue ] - minDate][0 ];
209
209
bit = self.replaceTable [[year intValue ] - minDate][1 ];
210
210
uruu = @([days intValue ] % 13 );
211
211
days = @(floor ([days intValue ] / 13 + 0.001 ));
212
-
212
+
213
213
self.oldTable [0 ] = @[days, @1 ];
214
214
if ([uruu isEqualToNumber: @0 ]) {
215
215
bit = @([bit intValue ] * 2 );
0 commit comments