Extracts the month number from a 'datetime64[D]' value */
| 224 | |
| 225 | /* Extracts the month number from a 'datetime64[D]' value */ |
| 226 | NPY_NO_EXPORT int |
| 227 | days_to_month_number(npy_datetime days) |
| 228 | { |
| 229 | npy_int64 year; |
| 230 | int *month_lengths, i; |
| 231 | |
| 232 | year = days_to_yearsdays(&days); |
| 233 | month_lengths = _days_per_month_table[is_leapyear(year)]; |
| 234 | |
| 235 | for (i = 0; i < 12; ++i) { |
| 236 | if (days < month_lengths[i]) { |
| 237 | return i + 1; |
| 238 | } |
| 239 | else { |
| 240 | days -= month_lengths[i]; |
| 241 | } |
| 242 | } |
| 243 | |
| 244 | /* Should never get here */ |
| 245 | return 1; |
| 246 | } |
| 247 | |
| 248 | /* |
| 249 | * Fills in the year, month, day in 'dts' based on the days |
no test coverage detected